Вопрос: Когда я вызываю Документ или Метод через <dtml-var
"doc"> то все
теги исчезают, а в некоторых случаях вообще просто печатаются на
странице без
обработки браузером. Что это?
Ответ: Для того, чтобы DTML-объект отрендерился в HTML,
его надо вызвать! Если
ты добираешься до объекта по URL, то его автоматически вызывает
ZPublisher.
Если ты DTML-объект используешь в виде <dtml-var doc> - то его
автоматически вызовет Zope. Но если ты DTML-объект используешь в виде
<dtml-var "doc"> - то то, что внутри кавычек - это чистый Питон. И
никакого автоматического вызова не происходит! Значит, надо этот doc
вызвать!!!
<dtml-var "doc(_.None, _)"> - при вызове передаются параметры
client (в
данном случае None, иногда бывает this()) и namespace.
|