2017-10-11 203 views
0

我正在使用Mittwald Typo3 Starterkit(Online-Demo)。我發現這個Starterkit使用Typo3流體目錄助手。如何爲活動/選定頁面指定特定的CSS類(我想突出顯示菜單中的當前頁面)?直到現在,我意識到我的菜單使用Typo3(HMENU/TMENU/ACT),但是這個流體目錄助手我完全被卡住了。Typo3流體DirectoryViewHelper:突出顯示菜單中的當前頁面

按照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 --> 

有沒有人有一個想法如何液目錄助手的作品?不幸的是,這裏幾乎沒有例子。萬分感謝!

+0

PS:當然,我也嘗試過page.linkCurrent()沒有任何結果。 – tm011036

+0

PPS:在ce:menu.directory產生錯誤後添加classActive =「'active'」 – tm011036

回答

0

請注意,ce:menu.directory ViewHelper與鏈接VHS Menu DirectoryViewHelper不一樣。

ce:前綴通常由FluidStyledContent ViewHelpers使用,也有菜單viewhelpers。

如果您想知道每個page行可用的屬性,應該使用f:debug ViewHelper檢查該變量。

<f:debug>{page}</f:debug> 

我還沒有試過視圖助手,永遠,但它看起來像它不插入任何信息,如果它是當前頁面,或者如果它是「活動」(在rootline)像你用來從HMENU內容對象。

您可能需要將該ViewHelper替換爲VHS擴展菜單ViewHelper。

相關問題