如何在context / get_html中声明的tal表达式也由tal解释器处理?是否有一个实用程序,我可以包装在我的浏览器视图中声明的get_html函数?我正在运行Plone 5。
示例:
context / get_html将返回:
<div tal:content="context/Title"></div>
如果从context / get_html返回的html中包含tal表达式,如上所示,则在调用以下内容时不会处理它们:
<div id="content" tal:content="structure context/get_html"></div>
此输出结果:
<div id="content"><div tal:content="context/Title"></div></div>
当所需的输出为:
<div id="content"><div>My Title</div></div>
感谢您帮助或花时间阅读本文。
答案 0 :(得分:3)
你想使用金属宏来实现这一目标!
例如,get_html是一个包含以下内容的页面模板:
<metal:friendlyname define-macro="my-macro">
<div id="content"><div tal:content="context/Title"></div></div>
</metal:friendlyname>
和use_macro是另一个包含以下内容的模板:
<metal:anothername use-macro="context/get_html/macros/my-macro" />
我访问/ your / context / use_macro渲染的输出完全是:
<div id="content"><div>Your Title ;)</div></div>
请查看此内容以供参考:
答案 1 :(得分:1)
如果您正在使用变色龙(如果您使用的是Plone 5,那么如果您使用了一些插件,则可以使用Plone 4),您可以在视图代码中执行此操作:
from chameleon import PageTemplate
template = PageTemplate("<div tal:content="context/Title"></div>")
template(context=context)