这几天我一直在玩PHPTAL。总的来说,我真的很喜欢它。它比我研究过的大多数其他东西都要容易得多。不过,我有一个特别的问题。
这是问题所在。我正在尝试嵌套两个模板。假设InnerClass有这个模板:
<div>Hello World!</div>OuterClass具有以下模板:
<div tal:content="myVar">This text should be replaced with the HTML above.</div>InnerClass还有一个名为render()的方法,它本质上调用模板的execute()方法并返回内容。所以我在外部类中这样做:
$template->myVar = $innerClassObject->render();然后,我显示OuterClass的内容。问题是内部类呈现的HTML进行了转义,我看到的是">“和"<”,而不是实际的标记。在显示其内容之前,myVar似乎已被完全转义。
既然这种方法不起作用,那么嵌套PHPTAL模板的最佳方式是什么呢?我认为这是可能的,只是我对此缺乏了解,所以任何意见都是值得感谢的。
发布于 2009-08-23 11:26:53
如果要在模板中插入任意标记,请使用structure关键字:
<div tal:content="structure variable_that_contains_html"/>但是,如果您想将一个PHPTAL模板嵌入到另一个模板中,那么可以使用macros
macros.xhtml:
<div metal:define-macro="greeting">Hello World!</div>page.xhtml:
<body><tal:block metal:use-macro="macros.xhtml/greeting"/></body>https://stackoverflow.com/questions/1317304
复制相似问题