从另一个 Fluidtypo3 FCE 元素访问通量场(通量、流体含量、vhs)
Posted
技术标签:
【中文标题】从另一个 Fluidtypo3 FCE 元素访问通量场(通量、流体含量、vhs)【英文标题】:Access flux fields from another Fluidtypo3 FCE element (flux, fluidcontent, vhs) 【发布时间】:2016-02-27 01:35:10 【问题描述】:我正在尝试访问 Fluidtypo3 FCE 元素的设置。我的 FCE 是一篇新闻文章,我想包含在另一个 FCE 中,它是一个滑块。滑块只有一个字段,配置如下:
<flux:field.relation
name="articles"
label="News-Beitrag"
multiple="true"
size="6"
table="tt_content"
condition="AND tt_content.pid = record.pid AND CType = 'fluidcontent_content' AND colPos = 1 AND sys_language_uid = record.sys_language_uid"
minItems="1"
maxItems="10"
renderMode="default"
/>
此配置有效,我可以选择我所有的新闻 FCE 作为关系。字段articles
保存所有引用的 FCE 的 uid。现在我正在尝试使用这些 uid 来接收内容。现在我的代码如下:
<f:section name="Main">
<f:if condition="articles">
v:iterator.explode(content: 'articles', glue: ",", as: 'articles')
v:content.get(contentUids: "articles", render: 0) -> v:variable.set(name: 'slides')
<f:for each="slides" as="element">
</f:for>
</f:if>
</f:section>
<v:content.get>
ViewHelper 获取数据库中记录的 tt_content 记录。通量设置以 XML 格式存储在字段 pi_flexform
中。我正在尝试逐一访问这些特定的通量设置,而不仅仅是 xml 格式的整个 pi_flexform
字段。
我一直在寻找可以将 XML 转换为数组的 ViewHelpers 并尝试了许多其他方法,但对我没有任何帮助。我很感激任何关于如何解决这个问题的想法。
【问题讨论】:
【参考方案1】:<flux:form.data>
是您寻找的 Viewhelper。你可以这样使用它:
<f:for each="slides" as="element">
<flux:form.data table="tt_content" field="pi_flexform" record="element" as="flexformData">
<!-- Do stuff with flexformData -->
</flux:form.data>
</f:for>
【讨论】:
你是我的英雄!我已经搜索了几个小时,甚至尝试了那个 viewhelper,但显然没有以正确的方式使用它。我不得不将table="tt_content"
添加到<flux:form.data>
Viewhelper,因为它是必需的属性。
谢谢,添加了缺少的参数:-)以上是关于从另一个 Fluidtypo3 FCE 元素访问通量场(通量、流体含量、vhs)的主要内容,如果未能解决你的问题,请参考以下文章
用于 SVG 图像的 FluidTYPO3 vhs ViewHelper?