[英]TYPO3 typoscript if condition based on site language
我的 typo3 版本是 11.5.10。 我有两张页脚图片,一张用于德语,一张用于英语。 我想为不同的语言渲染不同的图像。 我用这种方式尝试了德语。
[siteLanguage("locale") == "de_DE"]
50 = COA
50 {
wrap = <div class="footer__item col-sm-6 col-md-3 img-custom">|</div>
stdWrap {
typolink {
parameter = {$myconstant.footer-logo-link-4}
parameter.noTrimWrap = || _blank|
}
}
50 = IMAGE
50 {
file = user_uploads/german-footer.png
layoutKey = srcset
layout.srcset {
element = <img WIDTH###" SOURCECOLLECTION###" ###PARAMS### ###ALTPARAMS### ###SELFCLOSINGTAGSLASH###> }
}
}
[end]
而对于英语。
[siteLanguage("locale") == "en_US"]
50 = COA
50 {
wrap = <div class="footer__item col-sm-6 col-md-3 img-custom">|</div>
stdWrap {
typolink {
parameter = {$myconstant.footer-logo-link-5}
parameter.noTrimWrap = || _blank|
}
}
50 = IMAGE
50 {
file = user_uploads/english-footer.png
layoutKey = srcset
layout.srcset {
element = <img WIDTH###" SOURCECOLLECTION###" ###PARAMS### ###ALTPARAMS### ###SELFCLOSINGTAGSLASH###> }
}
}
[end]
在两种语言 FE 中,我都会得到英文页脚。 我还尝试了不同的 function 之类的 siteLanguage
我做错了什么? 提前致谢!
我在 Typoscript Object 浏览器中收到以下错误
错误和警告警告:第 5696 行:Object 名称字符串,“[siteLanguage”包含无效字符“[”。 必须是字母数字或以下之一:“_:-/.” 显示详细资料
警告:第 5718 行:Object 名称字符串,“[END]”包含无效字符“[”。 必须是字母数字或以下之一:“_:-/.” 显示详细资料
警告:第 5719 行:Object 名称字符串,“[siteLanguage”包含无效字符“[”。 必须是字母数字或以下之一:“_:-/.” 显示详细资料
警告:第 5741 行:Object 名称字符串,“[END]”包含无效字符“[”。 必须是字母数字或以下之一:“_:-/.” 显示详细资料
一般来说,您应该尽可能避免条件。 条件恶劣!
检查每个页面请求的条件 - 在触及任何缓存内容之前。 大量使用条件将成为性能杀手。
更多详情,请搜索“typo3 条件性能”
if
更好的方法是结合使用可缓存的if
函数和getText siteLanguage
。
page.10 = TEXT
page.10.data = siteLanguage:languageId
page.10.stdWrap.wrap = <p>siteLanguage:languageId=|</p>
page.20 = IMAGE
page.20 {
if.value = 1
if.equals.data = siteLanguage:languageId
file = EXT:example/Resources/Public/typo3_package_de.png
}
page.30 = IMAGE
page.30 {
if.value = 0
if.equals.data = siteLanguage:languageId
file = EXT:example/Resources/Public/typo3_package_en.png
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.