问题描述
大家好,我正在处理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 = | |*| » |*|
}
1.CUR = 1
1.CUR {
doNotLinkIt = 1
stdWrap.field = nav_title // title
linkWrap = | |*| » <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。