Я играл с PHPTAL последние пару дней. В целом мне это очень нравится. Это было намного проще, чем большинство других, на которых я смотрел. У меня есть одна конкретная проблема, однако.
Вот проблема. Я пытаюсь вложить два шаблона. Допустим, InnerClass имеет этот шаблон:
<div>Hello World!</div>
OuterClass имеет следующий шаблон:
<div tal:content="myVar">This text should be replaced with the HTML above.</div>
InnerClass также имеет метод render (), который по существу вызывает метод execute () themplate и возвращает содержимое. Поэтому я делаю это во внешнем классе:
$template->myVar = $innerClassObject->render();
Затем я отображаю содержимое OuterClass. Проблема заключается в том, что отображаемый HTML-код внутреннего класса выходит за пределы экрана, и я вижу «>» и «<» вместо реальных тегов. Похоже, что myVar полностью экранирован до отображения его содержимого. </p>
Поскольку этот подход не работает, каков наилучший способ вложения шаблонов PHPTAL? Я предполагаю, что это возможно, и это просто нехватка знаний с моей стороны, поэтому любой вклад приветствуется.