【问题标题】:TYPO3 fluid_styled_content - Menu when using gridelementsTYPO3 fluid_styled_content - 使用网格元素时的菜单
【发布时间】:2017-01-05 23:07:24
【问题描述】:

如何使用 tt_content 标题元素而不是“页面”构建 TYPO3 特殊菜单?

https://docs.typo3.org/typo3cms/extensions/fluid_styled_content/7.6/ContentElements/Menu/Index.html

Type-3 是一个很好的例子,但我只能在 BE 中选择 Pages,而不是 tt_content - Elements。

<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:ce="http://typo3.org/ns/TYPO3/CMS/FluidStyledContent/ViewHelpers" data-namespace-typo3-fluid="true">
<ce:menu.list pageUids="{pageUids}" as="pages">
<f:if condition="{pages}">
    <ul class="ce-menu ce-menu-3">
        <f:for each="{pages}" as="page">
            <ce:menu.section pageUid="{page.uid}" as="contentElements" type="header">
                <f:if condition="{contentElements}">
                    <f:for each="{contentElements}" as="contentElement">
                        <li>
                            <f:link.page pageUid="{page.uid}" section="c{contentElement.uid}">
                                {contentElement.header}
                            </f:link.page>
                        </li>
                    </f:for>
                </f:if>
            </ce:menu.section>
        </f:for>
    </ul>
</f:if>
</ce:menu.list>
</html>

【问题讨论】:

  • 你想在菜单中使用这个吗?

标签: typo3 fluid typo3-7.6.x


【解决方案1】:

我想您会返回启用了“在部分菜单中显示”的内容元素,并且标题已填充且未隐藏。 menu.section viewhelper 无法过滤内容元素类型。视图助手的type="header" 参数不是内容元素类型的过滤器,而是检查是否存在可见的header_layout 并且header 字段不为空。我同意,参数名称 type 具有误导性。

如果你想过滤内容类型(CType),添加一个额外的“if”语句,在内容元素的迭代过程中过滤{contentElement.CType} == header

<f:for each="{contentElements}" as="contentElement">
    <f:if condition="{contentElement.CType} == 'header'">
        <li>
            <f:link.page pageUid="{page.uid}" section="c{contentElement.uid}">
                {contentElement.header}
            </f:link.page>
        </li>
    </f:if>
</f:for>

如果您有相关知识,最好为此编写自己的视图助手。

【讨论】:

    【解决方案2】:

    首先,您应该重命名您的问题,以便清楚地创建一个与grid_elements 一起使用的内容菜单

    我遇到了同样的问题,找不到其他方法,只能为此目的创建一个小扩展,因为您必须修改内容的搜索查询。你可以在这里找到它:https://typo3.org/extensions/repository/view/gridelements_content_menu

    目前没有手册,只需安装扩展并在模板中包含静态 TS。如果您的内容元素的嵌套深度超过了 grid_elements 的一层,则生成的菜单可能无法正确排序

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多