0

我正在寻找一种方法来扩展 TYPO3 7 中的 fluid_styled_content 菜单,但不知道如何进行。例如 Type1 菜单有以下代码:

<ce:menu.directory pageUids="{pageUids}" as="pages">
<f:if condition="{pages}">
    <ul class="ce-menu ce-menu-1">
        <f:for each="{pages}" as="page">
            <li>
                <f:link.page pageUid="{page.uid}">
                    {page.title}
                </f:link.page>
            </li>
        </f:for>
    </ul>
</f:if>
</ce:menu.directory>

现在我正在寻找一种扩展菜单的方法,以便在可用时显示子页面。

如果此页面有子页面,则显示带有子页面的列表(作为嵌套的 UL 树)。

流体如何做到这一点?

4

1 回答 1

0

我不知道您正在使用的视图助手(<ce:menu.directory />)。我猜它需要一个页面 uid 的列表并获得子项(menu.directory)并将它们放入数组/ObjectStorage({pages})中 - 它也可以只创建一个选定页面 uid 的数组,然后这个答案不会是正确的。

你总是可以使用视图助手<f:debug>{variableName}</f:debug>来调试你所拥有的。

尝试这个:

<ce:menu.directory pageUids="{pageUids}" as="pages">
    <f:if condition="{pages}">
        <ul class="ce-menu ce-menu-1">
            <f:for each="{pages}" as="page">
                <li>
                    <f:link.page pageUid="{page.uid}">
                        {page.title}
                    </f:link.page>
                    <ce:menu.directory pageUids="{page.uid}" as="subPages">
                        <f:if condition="{subPages}">
                            <ul class="level-2">
                                <f:for each="{subPages}" as="subPage">
                                    <li>
                                        <f:link.page pageUid="{subPage.uid}">
                                            {subPage.title}
                                        </f:link.page>
                                    </li>
                                </f:for>
                            </ul>
                        </f:if>
                    </ce:menu.directory>
                </li>
            </f:for>
        </ul>
    </f:if>
</ce:menu.directory>

如果上述方法不起作用,请尝试转储{page}调试标记并使用输出更新您的问题。

于 2016-01-29T12:41:53.420 回答