我创建了一个这样的语言选择器:
lib.language = HMENU
lib.language {
special = language
special.value = 0,1,2
special.normalWhenNoLanguage = 0
wrap =
1 = TMENU
1 {
noBlur = 1
NO = 1
NO {
linkWrap = |
doNotLinkIt = 1
stdWrap.override = deutsch || english || français
stdWrap {
typolink {
parameter.data = page:uid
additionalParams = &L=0 || &L=1 || &L=2
ATagParams = class="dropdown-item" hreflang="de-DE" || class="dropdown-item" hreflang="en-GB" || class="dropdown-item" hreflang="fr-FR"
addQueryString = 1
addQueryString.exclude = L,id,cHash,no_cache
addQueryString.method = GET
useCacheHash = 1
no_cache = 0
forceAbsoluteUrl = 1
}
}
}
ACT < .NO
ACT.ATagParams = class="dropdown-item active"
}
}对于移动端,我希望继承该菜单,但使用不同的linkWrap (和类):
lib.languageMobile < lib.language
lib.languageMobile.1.NO {
linkWrap = <li class="1"><div>|</div></li>
stdWrap.typolink {
ATagParams = class="btn btn-sub" hreflang="de-DE" || class="btn btn-sub" hreflang="en-GB" || class="btn btn-sub" hreflang="fr-FR"
ATagBeforeWrap = 1
wrap = <span>|</span>
}
}
lib.languageMobile.1.ACT.ATagParams = class="btn btn-sub active"但是,所有为lib.languageMobile专门重置的值都不会在前端呈现。但是,TypoScript对象浏览器确实显示了设置的值。我没有找到任何关于,重置继承的HMENU/TMENU的值不适用,或者存在类似的已知问题。
我使用的是最新的TYPO3 8.7LTS: 8.7.4。
有人能指出,我遗漏了什么或做错了什么吗?提前谢谢。
发布于 2017-08-16 15:40:13
由于@BerndWilkeπφ将我带到了正确的轨道上,我想分享一下是什么为我解决了这个问题。
因为我确实在语言选择器中设置了所有可用语言,但并不是所有页面都完全翻译为所有语言。所以我偶然发现了USERDEF1和USERDEF2的用法。当我将它们添加到lib.language中时,我将lib.languageMobile更改为:
lib.languageMobile < lib.language
lib.languageMobile.1 {
NO {
linkWrap = <li class="1"><div>|</div></li>
stdWrap.typolink {
ATagParams = class="btn btn-sub" hreflang="de-DE" || class="btn btn-sub" hreflang="en-GB" || class="btn btn-sub" hreflang="fr-FR"
ATagBeforeWrap = 1
wrap = <span>|</span>
}
}
ACT < .NO
ACT.ATagParams = class="btn btn-sub active"
USERDEF1 < .NO
USERDEF2 < .ACT
}之后,移动语言选择器按预期呈现。
https://stackoverflow.com/questions/45706597
复制相似问题