TYPO3:添加特殊菜单CE并添加class =“active”

问题描述 投票:-12回答:2

TYPO3中,可以插入特殊菜单作为内容元素,您可以选择大约八种不同的方式来收集菜单。

在我选择的菜单中,如果菜单项处于活动状态,则不会分配任何类,我需要使用CSS突出显示它。我想知道如何添加自定义菜单。

注意:一旦我确实应用了我自己的答案中提供的解决方案,我意识到主要的困难是(通常是在TYPO3中)缓存,请注意经常刷新,否则你永远不会确定什么是正确的代码和什么是'的...

typo3 typoscript typo3-6.2.x typo3-7.6.x
2个回答
5
投票

答案:


  1. 复制原始流体模板(在我的情况下所选页面的子页面菜单): typo3/sysext/fluid_styled_content/Resources/Private/Partials/Menu/Type-1.html TYPO3 v8:不同的路径和不同的名称 typo3/sysext/fluid_styled_content/Resources/Private/Templates/xxx.html 要(与您在第4点声明的目录一致) EXT:myExtension/Resources/Private/Partials/Menu/Type-1.html
  2. 在你的设置中添加一个给出当前页面id的变量(libs.ts,可能这样做可以更简单,这个值可能已经存在,可以在第3点使用,但我不知道如何编写代码)。 lib.pageId = TEXT lib.pageId.data = page:uid
  3. 编辑模板(我只是在这里给出适用的条件) <f:if condition="{page.uid} == {f:cObject(typoscriptObjectPath: 'lib.pageId')}"> ... </f:if>
  4. 包括新的流体模板(我覆盖原始模板,保留原始名称) TYPO3 v8:使用lib.contentElement而不是lib.fluidContent lib.fluidContent.partialRootPaths.1920 = EXT:myExtension/Resources/Private/Partials/Menu/ 或者像我一样,将其包含在您的页面设置中 page = PAGE page { # Page Main template 10 = FLUIDTEMPLATE 10 { partialRootPaths = EXT:myExtension/Resources/Private/Partials/Menu/ } }
  5. 如果您想将其作为选项添加到列表中,则重新编号该文件(如Type-9.html)并将其添加到Page TSConfig中的菜单中: TYPO3 v8:我没有找到在v8中添加菜单的方法,这里给出的配置不起作用...... TCEFORM.tt_content.menu_type { types { menu{ addItems { 9 = menu of subpages of selected pages active highlighted } } } }

1
投票

要将链接标记为活动,您需要激活ACT = 1

## MAIN Navigation [Begin]

    lib.Menu = HMENU
    lib.Menu {
        ## FIRST LEVEL ##
        1 = TMENU
        1 {
            wrap = <ul>|</ul>
            expAll = 1
            noBlur = 1

            NO.wrapItemAndSub = <li>|</li>

            ACT = 1
            ACT.wrapItemAndSub = <li class="active">|</li>
    }

## MAIN Navigation [End]
© www.soinside.com 2019 - 2024. All rights reserved.