私はMittwald Typo3 Starterkit(Online-Demo)を使用しています。私はこのStarterkitがTypo3流体ディレクトリヘルパーを使用していることを理解しました。アクティブ/選択されたページに特定のCSSクラスを指定するにはどうすればよいですか(メニューの現在のページを強調したいですか?)Typo3 Fluid DirectoryViewHelper:メニューの現在のページをハイライト表示
これまで、私はTypo3(HMENU/TMENU/ACT)を使用してメニューを認識しましたが、この流体ディレクトリヘルパーでは完全に固執しました。
Fluid Documentationによれば、2つの方法があるかもしれません:
- classActive/classCurrent(列)
- linkActive/linkCurrent(ブーリアン)
元のコードがある:
<!-- 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が実行されていない場合):
<!-- 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 -->
誰もこの流体ディレクトリヘルパーの仕組みを知っていますか?残念ながら、いくつかの例があります。大いに感謝する!
PS:もちろん、結果を出さずにpage.linkCurrent()を試みました。 –
tm011036
PPS:ce:menu.directoryの後にclassActive = "'active'"を追加するとエラーが発生する – tm011036