[英]TYPO3 fluid menu condition for current page
I'm using TYPO3 v. 8.7 and ext.我正在使用 TYPO3 v. 8.7 和 ext。 vhs视频
Is it possible to make a condition that checks for current page?是否可以创建一个检查当前页面的条件? Have tried the code below but it does not work.已经尝试了下面的代码,但它不起作用。 I think it should then be possible to check for Current page我认为应该可以检查当前页面
<v:page.menu expandAll="1" entryLevel="1" >
<f:for each="{menu}" as="menuPage" iteration="iteration">
<f:if condition="{menuPage.isCurrentPage}">
<f:then>is current page</f:then>
<f:else>is not current page</f:else>
</f:if>
</f:for>
</v:page.menu>
I don't know which version of EXT:VHS you are using, maybe an old one (as you wrote the deprecated v:page.menu
instead of v:menu
).我不知道您使用的是哪个版本的 EXT:VHS,可能是旧版本(因为您编写了已弃用的v:page.menu
而不是v:menu
)。
You can discover all the options available for each item on the menu and their current value just using您可以发现菜单上每个项目的所有可用选项及其当前值,只需使用
<f:debug>{_all}</f:debug>
Like this:像这样:
<v:page.menu expandAll="1" entryLevel="1" >
<f:for each="{menu}" as="menuPage" iteration="iteration">
<f:debug>{_all}</f:debug>
<f:if condition="{menuPage.uid} == {data.uid}">
<f:then>is current page </f:then>
<f:else>is not current page</f:else>
</f:if>
</f:for>
</v:page.menu>
On version 6.0.0 (the one I am currently using) there are the boolean current
and active
so your code should be just:在 6.0.0 版本(我目前正在使用的版本)上有布尔current
和active
因此您的代码应该只是:
<v:menu expandAll="1" entryLevel="1" >
<f:for each="{menu}" as="menuPage" iteration="iteration">
<f:if condition = "{menuPage.current}">
<f:then>is current page </f:then>
<f:else>is not current page</f:else>
</f:if>
</f:for>
</v:menu>
Plus, if you just need a different class for your "active" or "current" items, you can also use the v:menu
arguments ´classActive´ and classCurrent
另外,如果您只需要为“活动”或“当前”项目使用不同的类,您还可以使用v:menu
参数 'classActive' 和classCurrent
for example:例如:
<v:menu expandAll="1" entryLevel="1" classCurrent="is-current" classActive="is-active">
<f:for each="{menu}" as="menuPage" iteration="iteration">
<li class="{menuPage.class}">
<f:link.page pageUid="{menuPage.uid}" title="{menuPage.linktext}">{menuPage.linktext}</f:link.page>
</li>
</f:for>
</v:menu>
I have temporarily resolved it as follows.我暂时解决了如下。 But I don't think that's the nicest solution.但我认为这不是最好的解决方案。
<v:page.menu expandAll="1" entryLevel="1" >
<f:for each="{menu}" as="menuPage" iteration="iteration">
<f:if condition="{menuPage.uid} == {data.uid}">
<f:then>is current page </f:then>
<f:else>is not current page</f:else>
</f:if>
</f:for>
</v:page.menu>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.