我创建了一个语言菜单,其中许多HMENU都包含在COA上。它可以正常工作,但如果当前页面上没有翻译,我想隐藏整个语言菜单。 我不知道如何解决它。 USERDEF1和USERDEF2的使用仅定义了非现有语言项的属性。
这是我的TS:
# Sprachmenü
lib.languagemenu = COA
lib.languagemenu {
wrap = <div class="langmenu-box">|</div>
# 1. Menü für die Textausgabe zur Auswahl
10 = HMENU
10 {
special = language
special.value = {$lang.keys}
special.normalWhenNoLanguage = 0
1 = TMENU
1 {
// Normal-Zustand nicht anzeigen
NO = 1
NO.doNotShowLink = 1
// Aktiven Zustand zusammenstellen
ACT = 1
ACT {
allWrap = <span class="hideMobile">|</span>
stdWrap.override.cObject = TEXT
stdWrap.override.cObject.value = Wählen Sie Ihre Sprache || Choose your language
stdWrap.noTrimWrap = | | |
doNotLinkIt = 1
}
}
}
// 2. Menü zur Ausgabe des aktuell gewählten Sprache
20 = HMENU
20 {
special = language
special.value = {$lang.keys}
special.normalWhenNoLanguage = 0
1 = TMENU
1 {
stdWrap.outerWrap = <div class="langmenu">|
// Normal-Zustand nicht anzeigen
NO = 1
NO.doNotShowLink = 1
// Aktiven Zustand zusammenstellen
ACT = 1
ACT {
allWrap = <button style="background:url(|) transparent no-repeat"><span class="caret-right"></span></button>
stdWrap.override.cObject = TEXT
stdWrap.override.cObject {
value= fileadmin/images/DE_Flag_30x30.png || fileadmin/images/GB_Flag_30x30.png
}
doNotLinkIt = 1
}
}
}
// 3. Menü zur Erstellung des Dropup-Feldes
30 = HMENU
30 {
special = language
special.value = {$lang.keys}
special.normalWhenNoLanguage = 0
wrap = <ul class="dropup-menu">|</ul></div>
1 = TMENU
1 {
// Normal Zustände zur Anzeige aller verfügbaren Sprachen
NO = 1
NO {
allWrap = <li>|</li>
stdWrap.override.cObject = IMAGE
stdWrap.override.cObject {
file = fileadmin/images/DE_Flag_30x30.png || fileadmin/images/GB_Flag_30x30.png
}
stdWrap.typolink.parameter.data = page:uid
stdWrap.typolink.additionalParams = &L=0 || &L=1
stdWrap.typolink.addQueryString = 1
}
// Aktiven Zustand ausblenden, da im Dropup-Feld nicht gewünscht
ACT = 1
ACT.doNotShowLink = 1
}
}
}
此致
答案 0 :(得分:1)
我再试一次,我找到了另一个HMENU和USERDEF1的解决方案。如果当前页面没有翻译,我的输出是一个特定的字符串。 如果给出了这个字符串,我可以使用流体条件来管理整个语言菜单的输出。
我的解决方案如下:
<强> TS-设置强>
lib.alternateLanguage = HMENU
lib.alternateLanguage {
special = language
special.value = {$lang.keys}
special.normalWhenNoLanguage = 0
wrap = |
1 = TMENU
1 {
NO = 1
NO.allWrap = |
NO.doNotShowLink = 1
USERDEF1 = 1
USERDEF1.allWrap = |
USERDEF1.stdWrap.override.cObject = TEXT
USERDEF1.stdWrap.override.cObject.value = no
USERDEF1.doNotLinkIt = 1
}
}
流体状况
<f:if condition="{f:cObject(typoscriptObjectPath: 'lib.alternateLanguage')} == \"no\"">
<f:then></f:then>
<f:else><f:cObject typoscriptObjectPath="lib.languagemenu" /></f:else>
</f:if>
这对我来说很好。