首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHPTAL和嵌套模板。有可能吗?

PHPTAL和嵌套模板。有可能吗?
EN

Stack Overflow用户
提问于 2009-08-22 23:25:47
回答 1查看 1.3K关注 0票数 2

这几天我一直在玩PHPTAL。总的来说,我真的很喜欢它。它比我研究过的大多数其他东西都要容易得多。不过,我有一个特别的问题。

这是问题所在。我正在尝试嵌套两个模板。假设InnerClass有这个模板:

代码语言:javascript
复制
<div>Hello World!</div>

OuterClass具有以下模板:

代码语言:javascript
复制
<div tal:content="myVar">This text should be replaced with the HTML above.</div>

InnerClass还有一个名为render()的方法,它本质上调用模板的execute()方法并返回内容。所以我在外部类中这样做:

代码语言:javascript
复制
$template->myVar = $innerClassObject->render();

然后,我显示OuterClass的内容。问题是内部类呈现的HTML进行了转义,我看到的是">“和"<”,而不是实际的标记。在显示其内容之前,myVar似乎已被完全转义。

既然这种方法不起作用,那么嵌套PHPTAL模板的最佳方式是什么呢?我认为这是可能的,只是我对此缺乏了解,所以任何意见都是值得感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-23 11:26:53

如果要在模板中插入任意标记,请使用structure关键字:

代码语言:javascript
复制
<div tal:content="structure variable_that_contains_html"/>

但是,如果您想将一个PHPTAL模板嵌入到另一个模板中,那么可以使用macros

macros.xhtml:

代码语言:javascript
复制
<div metal:define-macro="greeting">Hello World!</div>

page.xhtml:

代码语言:javascript
复制
<body><tal:block metal:use-macro="macros.xhtml/greeting"/></body>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1317304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档