如何在TYPO3(vhs + flux扩展名)中仅渲染一部分内容?

时间:2019-07-05 16:48:45

标签: typo3 typo3-8.x

我使用flux + vhs + builder(TYPO3 LTS 8.7.24)编写了自己的扩展名。一切正常。现在,当用户创建内容时,我想将其输出到页面上的两个位置。在一个位置只应打印图像,而在另一位置只应打印图像和文本。

编辑-这部分是错误的方法,是我需要的示例和新方法:

This is how my backend looks atm.

This is how my frontend looks atm.

现在,当用户输入产品信息(在“产品配置”中)时,他还必须将图像放在后端(在“选择产品”中)。这将是双重工作(仅使用某些javascript,“选择产品”与“产品配置”具有相同的img)。我在“产品选择”部分中也在寻找一种解决方案以渲染column1(的一部分),所以我不再需要column0。

编辑----我的最后一种方法也是错误的。但是现在我有了一个可以修复一些错误的解决方案。我会尝试使用它。如果有人遇到同样的问题,我就用胶水!喜欢:

        <f:for each="{content}" as="meineproduct">
            <v:iterator.explode content="{meineproduct}" as="current" glue="<!---->">
                {current.1}
            </v:iterator.explode>
        </f:for>
    </v:content.render>

唯一的问题是它是嵌套的。因为这是TYPO3类的开始。现在,我添加了更多的“”并获取第二个数组。特别感谢@Claus Due

1 个答案:

答案 0 :(得分:1)

您可能会以错误的方式思考。如果您打算将某些内容元素的列表呈现为索引(跳转到锚定链接),则不应创建同一内容元素的两个实例。

相反,您应该在要包括在此类列表中的内容元素中启用“部分索引”行为切换,然后创建“菜单”内容元素的实例,然后选择“部分索引”作为菜单类型。 / p>

然后,此内容类型将呈现一个特殊菜单,其中包含已选择要显示在部分索引中的所有内容元素(无论类型如何)。强烈建议使用内置方式将content元素包括为部分索引-如果确实是您的用例。

使用非标准方法的替代方法/用于与部分索引不相似的自定义用例:

  1. 使用内容记录中colPos上的Fluid条件确定如何呈现元素。
  2. 使用内容元素设置/ Flux表单设置为内容元素定义“显示模式”,以更改其呈现方式。
  3. 合并v:variable.register.setv:variable.register.get,以在Fluid中定义和读取变量,这些变量将持续存在于内容元素之间的任何边界。在要以特殊方式输出的页面模板中使用.set,然后在内容元素模板中使用.get,然后使用f:if根据值呈现不同的部分(或不显示) v:variable.register.set设置的变量值。