Я не знаю, какую версию EXT: VHS вы используете, может быть, старую (как вы написали устаревший v:page.menu
вместо v:menu
).
Вы можете найти все варианты доступны для каждого элемента в меню и их текущего значения только с помощью
<f:debug>{_all}</f:debug>
Примерно так:
<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>
В версии 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>
Плюс, если вам просто нужен другой класс для ваших "активных" или "текущих" предметов, вы также можете использовать v:menu
аргументы «classActive» и classCurrent
, например:
<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>