我为自定义内容元素安装了DCE。
我想要有条件地包含文件名的第一个div标签。这应该做到,但它没有 - 为什么?
<f:if condition="{f:count(subject: {dce:fal(field:'bgImage', contentObject:contentObject)})}==1">
<f:then>
<f:for each="{dce:fal(field:'image', contentObject:contentObject)}" as="fileReference" iteration="iterator">
<f:if condition="{iterator.isFirst}">
<div class="element slide vertical-center picture{f:if(condition: '{field.isWhite} == 1', then: ' white')}" img-fill="{f:uri.image(src:'{fileReference.uid}',treatIdAsReference:'1')}" selectable>
</f:if>
</f:for>
</f:then>
<f:else>
<div class="element slide vertical-center{f:if(condition: '{field.isWhite} == 1', then: ' white')}" selectable>
</f:else>
</f:if>
我需要什么:
我在DCE中定义了一个FAL属性,如果设置了一个文件,那么&#39; div&#39;应该是
<div class="element slide vertical-center picture" img-fill="FILEPATH" selectable>
如果不是,那么
<div class="element slide vertical-center" selectable>
我没有找到比这种结构更好的netter解决方案:
<f:for each="{dce:fal(field:'image', contentObject:contentObject)}" as="fileReference" iteration="iterator">
<f:if condition="{iterator.isFirst}">
<!-- render image by fileReference -->
</f:if>
</f:for>
我已经找到了内联符号
{f:if(condition:'{filepath} != EMTPY',then:' picture')}
但是如何检查流体中的EMPTY?
{f:if(condition:'{filepath}',then:' picture')}
当我在评论中正确理解Urs时。
我想念什么?
答案 0 :(得分:0)
所以,你可能会尝试这样的事情(我猜):
<div class="..." img-fill="<f:if condition="{dce:fal(field:'image', contentObject:contentObject)}">
<f:image image="{dce:fal(field:'image', contentObject:contentObject).0}" />
</f:if>
</f:for>">
... further content ...
</div>
答案 1 :(得分:0)
尝试这样的事情,这对我有用。
<f:for each="{dce:fal(field:'fal', contentObject:contentObject)}" as="fileReference" iteration="iterator">
<div class="element slide vertical-center {f:if(condition:'{fileReference.uid}',then:' picture')}">
<f:image src="{fileReference.uid}" alt="" treatIdAsReference="1" />
</div>
</f:for>
答案 2 :(得分:0)
我找到了一个&#34;解决方案&#34;靠我自己:
<? if (count($image_references) == 1): ?>
<div class="element slide vertical-center picture" img-fill-src="/fileadmin<? echo $file_references[0].originalFile.identifier; ?>">
<? else: ?>
<div class="element slide vertical-center">
<? endif; ?>
</div>
真是一团糟。与PHP方法比较:
{{1}}
使用这种Fluid材料会产生极大的开销,因为毕竟你需要一个解析Fluid材料的解析器。这个解析器再次用PHP编写,并且在整个前端执行muss。这意味着必须缓存所有内容。但是再次缓存并不好。代码更容易。如果你学会流动,你就不能在不像PHP的地方应用它。
这个&#34;流体&#34; - 系统真是个坏主意!