在TYPO3 8.7.3中预先添加到主页的链接
我在导航中使用了以下TS(TYPO3 7.6.):在TYPO3 8.7.3中预先添加到主页的链接,typo3,typoscript,typo3-8.x,Typo3,Typoscript,Typo3 8.x,我在导航中使用了以下TS(TYPO3 7.6.): (...) # prepend link to home stdWrap.prepend = TEXT stdWrap.prepend { data = leveltitle:0 typolink.parameter.data = leveluid:0 wrap = <ul><li>|</li> wrap.override = <ul><li class="
(...)
# prepend link to home
stdWrap.prepend = TEXT
stdWrap.prepend {
data = leveltitle:0
typolink.parameter.data = leveluid:0
wrap = <ul><li>|</li>
wrap.override = <ul><li class="cur">|</li>
wrap.override {
if.value.data = leveluid:0
if.equals.data = TSFE:id
}
typolink.parameter.data.override = leveluid:
typolink.parameter.data.override {
if.value.data = leveluid:0
if.equals.data = TSFE:id
}
}
(...)
(…)
#前置链接到主页
stdWrap.prepend=文本
stdWrap.prepend{
数据=级别标题:0
typlink.parameter.data=leveluid:0
包裹=- |
wrap.override=- |
wrap.override{
if.value.data=leveluid:0
if.equals.data=TSFE:id
}
typolink.parameter.data.override=leveluid:
typlink.parameter.data.override{
if.value.data=leveluid:0
if.equals.data=TSFE:id
}
}
(...)
升级到TYPO3 8.7.3后,我得到
您不应该在包装的单个部分前加前缀,而应该始终使用完整包装,以避免破坏HTML结构。此外,还有一种方法可以通过使用TMENU而不是typolink来检测页面是否为当前页面。因此,您可以获得所有菜单状态,而不是使用覆盖和if
# Full menu of two parts
10 = COA
10 {
wrap = <ul>|</ul>
10 = HMENU
10 {
special = list
special.value.data = leveluid:0
1 = TMENU
1 {
NO = 1
NO {
allWrap = <li>|</li>
}
CUR < .NO
CUR {
doNotLinkIt = 1
allWrap = <li class="cur">|</li>
}
}
}
20 < .10
20.special = directory
20.1.ACT < .20.1.NO
20.1.ACT.allWrap = <li class="act">|</li>
}
#两部分的完整菜单
10=COA
10 {
包裹=|
10=汉努
10 {
特殊=列表
special.value.data=leveluid:0
1=t菜单
1 {
否=1
没有{
allWrap=|
}
当前号
CUR{
doNotLinkIt=1
allWrap=
}
}
}
20 < .10
20.special=目录
20.1.ACT<.20.1.NO
20.1.ACT.allWrap=|
}
第一部分提供了指向根页面的单个链接,如果您位于根页面本身,该链接将发生变化,第二部分将提供下面页面的常用菜单结构。因此,它将菜单从列表更改为目录,并添加ACT状态。应与任何CMS版本一起使用。我在my TYPO3 8.7.3上尝试了该代码,它工作正常。感谢您提供的信息。我会再次检查我的安装。谢谢你的替代方法。我用“lib.desktopMenu=TEXT”试过了,但没有菜单。TEXT不起作用,但lib.desktopMenu=COA应该可以。用它来替换第一行。