2017-10-11 254 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。

相关问题