2011-08-20 54 views
1

我的模型中有一个包含降价文本的文本字段。我需要将文本转换为html并将其显示在我的.pt模板中。什么是最好的办法呢?在模板中显示文本?

我意识到我可以在我的模型中添加一个方法来转换字段并返回HTML,然后从我的模板中调用该方法,但是如果不使用此额外方法,只需使用我的降级字段即可模板类似于Django的?

{{ mytext|markdown:"safe" }} 

回答

1

Plone的,它使用TAL为它的模板引擎,并可以使用结构式文件编程语言,新结构化,和其他富文本格式,完成所有的渲染HTML TAL之外。所以你可能会用你想要的方法吠叫错误的树。

也就是说,TAL有一个有点可扩展的“表达”系统,这就是为什么您可以有path表达式(默认)或python表达式。在包含plone的zope世界中,有一个称为内容提供者的页面组合系统,所以有人实现了一个表达式。因此,也许你可以看看这个:

tales.py

configure.zcml

structure关键词依然是你最简单的选择。

<div tal:replace="structure view/getMarkdown">rendered markdown</div> 

structure是一种特殊情况下的关键字,而不是页面模板的可扩展部分。

+0

谢谢。据我所知,“结构”只是传递文本不变,它不会转换任何东西。有没有办法将文本从降价转换为标记? – akonsu

+0

据我所知,变色龙没有内置的渲染降价支持。 –

+0

有没有一种方法可以实现自定义关键字呢? – akonsu