我想添加一个带有Typoscript条件的CSS类

问题描述

大家好,我正在处理Typo3项目,想更改一个nav-bar元素的CSS。我的想法:通过打字条件添加班级,但是我是新手,也不知道如何实现。这是我的代码

lib {
   topNavigation = HMENU
   topNavigation {
      1 = TMENU
      1 {
        wrap = <ul class="navbar-nav d-flex text-dark align-items-end pt-4">|</ul>
        NO{
          linkWrap = <li class="nav-item text-Nowrap ml-2 mr-2 pt-2">|</li>
          ATagParams = class="nav-link"
        }
      }
   }
   breadcrumbTrail = HMENU
   breadcrumbTrail {
      special = rootline
      special.range = 0|-1
      1 = TMENU
      1.NO {
         stdWrap.field = nav_title // title
         ATagTitle.field = nav_title // title
         linkWrap = | |*| &nbsp;&raquo;&nbsp; |*|
      }
      1.CUR = 1
      1.CUR {
         doNotLinkIt = 1
         stdWrap.field = nav_title // title
         linkWrap = | |*| &nbsp;&raquo;&nbsp;<em>|</em>|
      }
   }
   contentTest = TEXT
   contentTest.value = 1
   contentTest.if.isTrue.numRows {
      table = tt_content
      select {
         orderBy = sorting
         where = colPos = 2
      }
   }
}

在这里您可以看到标题导航的构建方式,我想在ATagParams = class="nav-link"部分添加一个额外的类。

我想实现这样的目标:

ATagParams = class="nav-link"
if.field.nav_title.equals = Spenden
ATagParams = class="nav-link nav-colored"

如果可能的话。

解决方法

如果页面不经常更改,则可以使用'optionsplit'来修改第override个菜单项的值固定值。

否则,您可以在条件中使用lib { topNavigation = HMENU topNavigation { 1 = TMENU 1 { wrap = <ul class="navbar-nav d-flex text-dark align-items-end pt-4">|</ul> NO{ linkWrap = <li class="nav-item text-nowrap ml-2 mr-2 pt-2">|</li> ATagParams = class="nav-link" ATagParams.override = class="nav-link nav-colored" ATagParams.override.if.equals.field = uid ATagParams.override.if.value = 123 } :
像这样:

          ATagParams.override.if.equals.field = nav_title
          ATagParams.override.if.value = Spenden

“ 123”是页面“ Spenden”中的page.uid时

替代:

{{1}}

但这对重命名更为敏感,不适用于翻译。

,

当您使用TYPO3 v10时,建议您改用MenuProcessor。 基本上是HMENU,但是您可以在Fluid模板中完全完成所有样式和HTML。

请参阅:https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/ContentObjects/Fluidtemplate/DataProcessing.html#menuprocessor