gpt4 book ai didi

plone - 仅覆盖 Plone 标准内容类型的描述字段

转载 作者:行者123 更新时间:2023-12-04 10:20:45 24 4
gpt4 key购买 nike

我只想覆盖 Plone 标准内容类型(文档、文件夹、blabla)的经典“描述字段”的“ View ”,因为我需要使用结构化文本“结构化”该字段的文本,例如:

This is my description<br/>
with many lines<br/>
bla bla<br/>

最佳答案

更改呈现标准描述字段的模板以将换行符转换为换行符并不难,但需要注意避免创建安全漏洞。

覆盖主题产品或自定义文件夹中的皮肤层 kss_generic_macros.pt 模板。

然后,您可以使用 Products.PythonScripts.standard.newline_to_br 将换行符转换为换行符。您需要使用“结构”插入转换后的文本以防止转义中断。

由于您将使用“结构”,因此在应用 newline_to_br 之前,您绝对还必须手动对描述进行 html 转义(使用标准中的 html_quote),否则您将为 XSS 攻击创建一个向量。

宏的关键部分在修复后可能会显示为:

            <div metal:define-macro="description-field-view"
id="parent-fieldname-description"
tal:define="kss_class python:getKssClasses('description',
templateId='kss_generic_macros', macro='description-field-view');
pps modules/Products.PythonScripts.standard"
tal:condition="context/Description"
tal:attributes="class string:documentDescription$kss_class;">
<span metal:define-slot="inside"
tal:replace="structure python:pps.newline_to_br(pps.html_quote(context.Description()))">Description</span>
</div>

关于plone - 仅覆盖 Plone 标准内容类型的描述字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7858574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com