簡體   English   中英

TYPO3 排版如果基於站點語言的條件

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

  1. 站點語言(“導航標題”)
  2. 站點語言(“語言環境”)
  3. siteLanguage("hreflang") 等。

我做錯了什么? 提前致謝!

我在 Typoscript Object 瀏覽器中收到以下錯誤

錯誤和警告警告:第 5696 行:Object 名稱字符串,“[siteLanguage”包含無效字符“[”。 必須是字母數字或以下之一:“_:-/.” 顯示詳細資料

警告:第 5718 行:Object 名稱字符串,“[END]”包含無效字符“[”。 必須是字母數字或以下之一:“_:-/.” 顯示詳細資料

警告:第 5719 行:Object 名稱字符串,“[siteLanguage”包含無效字符“[”。 必須是字母數字或以下之一:“_:-/.” 顯示詳細資料

警告:第 5741 行:Object 名稱字符串,“[END]”包含無效字符“[”。 必須是字母數字或以下之一:“_:-/.” 顯示詳細資料

一般來說,您應該盡可能避免條件。 條件惡劣!

檢查每個頁面請求的條件 - 在觸及任何緩存內容之前。 大量使用條件將成為性能殺手。

更多詳情,請搜索“typo3 條件性能”

使用 TypoScript 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM