我使用的是Mittwald Typo3 Starterkit(Online-Demo)。我发现这个Starterkit使用了Typo3流体目录助手。如何为活动/选定页面指定特定的CSS类(我想突出显示菜单中的当前页面)?
到现在为止,我使用Typo3(HMENU / TMENU / ACT)实现了我的菜单,但是这个流量目录助手我完全陷入困境。
根据Fluid Documentation,可能有两种方式:
原始代码是:
<!-- mainmenu begin -->
<ce:menu.directory pageUids="{0: '{mainMenuStartingPid}'}" as="pages" levelAs="level" maximumLevel="2">
<f:if condition="{pages}">
<ul id="{f:if(condition:'{mainMenuClass}',then:'c{mainMenuClass}',else:'mainmenu')}">
<f:for each="{pages}" as="page">
<li>
<f:link.page pageUid="{page.uid}">
{page.title}
</f:link.page>
<!-- submenu deleted for better overview -->
</li>
</f:for>
</ul>
</f:if>
</ce:menu.directory>
<!-- mainmenu close -->
我的尝试没有用(如果没有执行条件linkCurrent,则没有出现“current”类):
<!-- mainmenu begin -->
<ce:menu.directory pageUids="{0: '{mainMenuStartingPid}'}" as="pages" levelAs="level" maximumLevel="2">
<f:if condition="{pages}">
<ul id="{f:if(condition:'{mainMenuClass}',then:'c{mainMenuClass}',else:'mainmenu')}">
<f:for each="{pages}" as="page">
<f:if condition="{linkCurrent}">
<li class="current">
<f:link.page pageUid="{page.uid}">
{page.title}
</f:link.page>
<!-- submenu deleted for better overview -->
</li>
</f:if>
<f:else>
<li>
<f:link.page pageUid="{page.uid}">
{page.title}
</f:link.page>
<!-- submenu deleted for better overview -->
</li>
</f:else>
</f:for>
</ul>
</f:if>
</ce:menu.directory>
<!-- mainmenu close -->
有没有人知道这个流体目录助手是如何工作的?不幸的是,周围的例子很少。非常感谢你!
答案 0 :(得分:0)
注意,ce:menu.directory
ViewHelper与链接的VHS Menu DirectoryViewHelper不同。
FluidStyledContent ViewHelpers通常使用ce:
前缀,它也有菜单查看器。
如果您想知道每个page
行可用的属性,您应该使用f:debug
ViewHelper来检查变量。
<f:debug>{page}</f:debug>
我从未尝试过ViewHelper,但看起来它没有插入任何有关的信息,如果它是当前页面,或者它是否活跃&#34; (在rootline中),就像你习惯使用HMENU内容对象一样。
您可能希望将ViewHelper替换为VHS扩展菜单ViewHelper。