如何在DCE部分中使用图像字段?
可以像这样访问图像元素(myImage):
<f:for each="{dce:fal(field:'myImage', contentObject:contentObject)}" as="fileReference">
<f:image src="{fileReference.uid}" alt="" treatIdAsReference="1" />
</f:for>
但是,如果我遍历部分(mySection),则此代码不起作用。
经过大量调试后的解决方案:
将此元素用于&#34; myImage&#34;:文件抽象层(仅限部分使用)
<config>
<type>group</type>
<internal_type>db</internal_type>
<appearance>
<elementBrowserType>file</elementBrowserType>
<elementBrowserAllowed>jpg,jpeg,png,gif</elementBrowserAllowed>
</appearance>
<allowed>sys_file</allowed>
<size>1</size>
<minitems>1</minitems>
<maxitems>1</maxitems>
<show_thumbs>1</show_thumbs>
</config>
使用此模板代码
<f:for each="{field.mySection}" as="teaserbox">
<f:image src="{teaserbox.image}" alt="" />
{teaserbox.text}
</f:for>
您必须删除treatIdAsReference="1"
- 否则会导致此错误:
No file usage (sys_file_reference) found for given UID.
这不是100%完美的解决方案,因为您没有像alt
这样的字段,但它有效。欢迎更好的解决方案!
答案 0 :(得分:2)
在较旧的DCE版本中,这是不可能的。在较新的那些中,您可以为Section Configuration选择FAL Image。看起来像这样:
<config>
<type>group</type>
<internal_type>db</internal_type>
<appearance>
<elementBrowserType>file</elementBrowserType>
<elementBrowserAllowed>jpg,jpeg,png,gif</elementBrowserAllowed>
</appearance>
<allowed>sys_file</allowed>
<size>5</size>
<minitems>0</minitems>
<maxitems>5</maxitems>
<show_thumbs>1</show_thumbs>
</config>
在你的模板中,这应该有效:
<f:for each="{item.image -> dce:explode()}" as="imageUid">
<f:image src="file:{imageUid}"/>
</f:for>
答案 1 :(得分:0)
//this is file upload control with little changes
<config>
<type>group</type>
<internal_type>db</internal_type>
<appearance>
<elementBrowserType>file</elementBrowserType>
<elementBrowserAllowed>jpg,jpeg,png,gif</elementBrowserAllowed>
</appearance>
<allowed>sys_file</allowed>
<size>5</size>
<minitems>0</minitems>
<maxitems>5</maxitems>
<show_thumbs>1</show_thumbs>
<dce_load_schema>1</dce_load_schema>
<dce_get_fal_objects>1</dce_get_fal_objects>
它看起来像 In Dce backend it will look like below image
就我而言,它将是这样
<f:for each="{field.contentBoxes}" as="contentbox">
<div class="col-lg-4 col-md-4 col-sm-6">
<div class="choose__item">
<f:for each="{contentbox.icon}" as="image">
<f:image image="{image}" />
</f:for>
<f:format.html>{contentbox.content}</f:format.html>
</div>
</div>
</f:for>
现在就您而言,您应该这样尝试
<f:for each="{field.mySection}" as="teaserbox">
<f:for each="{teaserbox.image}" as="img">
<f:image image="{img}" />
</f:for>
{teaserbox.text}
</f:for>