tal:condition 用于文件附件字段
tal:condition for file attachment fields
我正在使用此代码进行简单下载 link(并且仅在 'attachment' 字段具有值时出现 - 附件)-(工作正常):
<metal:field use-macro="python:here.widget('attachment', mode='view')" />
我也想提供一种不用下载直接查看文件的方法。我目前正在使用这个代码片段(工作正常):
<a tal:attributes="href string:${context/absolute_url}/attachment">View Attached File</a>
我想添加一个条件,如果 'attachment' 字段确实有附件,则显示 "view" link。但是,我无法使 tap:condition 工作。在测试中,我尝试了这些代码片段:
<span tal:condition="here/attachment">ATTACHMENT</span>
<span tal:condition="context/attachment">ATTACHMENT</span>
<span tal:condition="template/attachment">ATTACHMENT</span>
<span tal:condition="exists:template/attachment">ATTACHMENT</span>
<span tal:condition="string:${context/absolute_url}/attachment">ATTACHMENT</span>
<span tal:condition="python:here.widget('attachment', mode='view')">ATTACHMENT</span>
<span tal:condition="exists:python:here.widget('attachment', mode='view')">ATTACHMENT</span>
<span tal:define="file_exists2 exists:string:${context/absolute_url}/attachment" tal:condition="python:file_exists2">ATTACHMENT</span>
(无论附件是否存在,以上都会显示)
是否有一个简单的解决方案可以让 tal:condition 准确识别文件字段是否有值并且在没有附件时不显示而在有时显示?
您可以查看附件大小:
如果是Archetype(在AT Field上调用getSize,也是public可遍历的):
<span tal:condition="context/attachment/getSize">ATTACHMENT</span>
AFAIK 在 DX 上是不同的,因为它是 NamedBlobFile
:
<span tal:condition="context/attachment/get_size">ATTACHMENT</span>
我正在使用此代码进行简单下载 link(并且仅在 'attachment' 字段具有值时出现 - 附件)-(工作正常):
<metal:field use-macro="python:here.widget('attachment', mode='view')" />
我也想提供一种不用下载直接查看文件的方法。我目前正在使用这个代码片段(工作正常):
<a tal:attributes="href string:${context/absolute_url}/attachment">View Attached File</a>
我想添加一个条件,如果 'attachment' 字段确实有附件,则显示 "view" link。但是,我无法使 tap:condition 工作。在测试中,我尝试了这些代码片段:
<span tal:condition="here/attachment">ATTACHMENT</span>
<span tal:condition="context/attachment">ATTACHMENT</span>
<span tal:condition="template/attachment">ATTACHMENT</span>
<span tal:condition="exists:template/attachment">ATTACHMENT</span>
<span tal:condition="string:${context/absolute_url}/attachment">ATTACHMENT</span>
<span tal:condition="python:here.widget('attachment', mode='view')">ATTACHMENT</span>
<span tal:condition="exists:python:here.widget('attachment', mode='view')">ATTACHMENT</span>
<span tal:define="file_exists2 exists:string:${context/absolute_url}/attachment" tal:condition="python:file_exists2">ATTACHMENT</span>
(无论附件是否存在,以上都会显示)
是否有一个简单的解决方案可以让 tal:condition 准确识别文件字段是否有值并且在没有附件时不显示而在有时显示?
您可以查看附件大小:
如果是Archetype(在AT Field上调用getSize,也是public可遍历的):
<span tal:condition="context/attachment/getSize">ATTACHMENT</span>
AFAIK 在 DX 上是不同的,因为它是 NamedBlobFile
:
<span tal:condition="context/attachment/get_size">ATTACHMENT</span>