从另一个 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>

&lt;v:content.get&gt; ViewHelper 获取数据库中记录的 tt_content 记录。通量设置以 XML 格式存储在字段 pi_flexform 中。我正在尝试逐一访问这些特定的通量设置,而不仅仅是 xml 格式的整个 pi_flexform 字段。

我一直在寻找可以将 XML 转换为数组的 ViewHelpers 并尝试了许多其他方法,但对我没有任何帮助。我很感激任何关于如何解决这个问题的想法。

【问题讨论】:

【参考方案1】:

&lt;flux:form.data&gt; 是您寻找的 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" 添加到&lt;flux:form.data&gt; Viewhelper,因为它是必需的属性。 谢谢,添加了缺少的参数:-)

以上是关于从另一个 Fluidtypo3 FCE 元素访问通量场(通量、流体含量、vhs)的主要内容,如果未能解决你的问题,请参考以下文章

用于 SVG 图像的 FluidTYPO3 vhs ViewHelper?

FluidTYPO3 在 TYPO3 后端使用 Flux Grid 复制内容模块

从另一个类 c++ 访问 UI 元素

从另一个类访问 viewController 元素

如何在“新内容元素”向导的后端对 FCE 进行排序/排序

QML , 如何从另一个 qml 访问元素