从另一个 Fluidtypo3 FCE 元素(flux、fluidcontent、vhs)访问通量场

Access flux fields from another Fluidtypo3 FCE element (flux, fluidcontent, vhs)

我正在尝试访问 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"
            />

此配置有效,我可以 select 我所有的新闻 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,并尝试了很多其他方法,但对我来说没有任何效果。我很感激任何解决这个问题的想法。

<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>