我有2个字段(fieldA和fieldB)
我想要的是 :
-如果fieldA包含某些内容,则不应显示fieldB
我尝试的是:
<span tal:replace="here/getFieldA" />
<span tal:omit-tag="here/getFieldA" tal:replace="here/getFieldB" />
所以它不起作用
谢谢你的帮助
最佳答案
您正在寻找的是 tal:condition
,可能与 not:
和 exists:
前缀结合使用:
<span tal:replace="here/getFieldA" />
<span tal:condition="not:exists:here/getFieldA" tal:replace="here/getFieldB" />
另外,您可以使用
|
operator,它充当if运算符,测试第一个元素的存在。如果不存在,它将使用下一个表达式,依此类推:<span tal:replace="here/getFieldA | here/getFieldB" />
tal:omit-tag
属性的含义非常不同。如果表达式的计算结果为True
,则输出中将省略标记,仅标记本身。最好用一个例子说明:<span tal:omit-tag="">
<i>This part will be retained</i>
</span>
渲染该页面模板会导致:
<i>This part will be retained</i>
省略了周围的
<span>
标记,但保留了内容。关于plone - 条件取决于其他领域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5246635/