1

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

我意识到我可以向我的模型添加一个转换字段并返回 HTML 的方法,然后从我的模板中调用该方法,但是我可以在没有这个额外方法的情况下做到这一点,只需使用模板中的 markdown 字段,类似于 Django 的?

{{ mytext|markdown:"safe" }}
4

1 回答 1

1

Plone 使用 TAL 作为模板引擎,可以使用 StructuredText、reStructuredText 和其他富文本格式,在 TAL 之外将所有呈现到 HTML。因此,您可能会在您要采用的方法中找到错误的树。

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

tales.py

configure.zcml

structure关键字仍然是您最容易的选择。

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

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

于 2011-08-20T05:21:59.077 回答