[英]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.