簡體   English   中英

在TYPO3中,使用RealURL,翻譯后的URL如何工作

[英]In TYPO3, using RealURL, how do translated URLs work

我添加了語言類型的HMENU和一些翻譯,我可以單擊菜單按鈕來查看翻譯。 但是,有些事情是壞的,我想獲得更基本的了解。

第一件事很奇怪:在語言菜單中,未翻譯頁面的HREF類似於/en/my-page ,而翻譯頁面的HREF類似於/my-page?L=1 Wbat正在進行這里? 我放入了https://github.com/dmitryd/typo3-realurl/wiki/Notes-for-Integrators#configuring-languages中描述的preVars部分。 如果用戶永遠不必看到?L = x查詢字符串參數,我會更喜歡它。

編輯:通過將我的域記錄從https://www.my.domain.com糾正為www.my.domain.com ,然后清除了realurl數據庫表,我已經解決了第一個問題。

我的第二個問題是我的其他普通HMENU。 這些中的文本已正確翻譯,但鏈接卻不正確-每次導航時,您最終都回到默認語言。

任何幫助,不勝感激。

我已經嘗試了以下所有方法:

  • “清除所有緩存”按鈕
  • “清除PHP操作碼緩存”按鈕
  • rm -rf / var / www / typo3temp / *
  • 刪除數據庫中所有tx_realurl表的內容

我的TypoScript:

config.doctype = html5
config.absRefPrefix = /
config.tx_realurl_enable = 1

## config.sys_language_overlay = 1 # I don't actually know what this does!
config.linkVars = L(0-9) # Make the language link variables work.

## Defaults
config.language = en
config.locale_all = en_GB.utf8
config.htmlTag_langKey = en-GB.utf8
config.sys_language_uid = 0

[globalVar = GP:L = 1]
config.language = da
config.locale_all = da_DA.utf8
config.htmlTag_langKey = da-DA.utf8
config.sys_language_uid = 1

[globalVar = GP:L = 2]
config.language = de
config.locale_all = de_DE.utf8
config.htmlTag_langKey = de-DE.utf8
config.sys_language_uid = 2

## There's no 3

[globalVar = GP:L = 4]
config.language = es
config.locale_all = es_ES.utf8
config.htmlTag_langKey = es-ES.utf8
config.sys_language_uid = 4

## There's no 5

[globalVar = GP:L = 6]
config.language = lv
config.locale_all = lv_LV.utf8
config.htmlTag_langKey = lv-LV.utf8
config.sys_language_uid = 6

[globalVar = GP:L = 7]
config.language = ro
config.locale_all = ro_RO.utf8
config.htmlTag_langKey = ro-RO.utf8
config.sys_language_uid = 7

[globalVar = GP:L = 8]
config.language = pl
config.locale_all = pl_PL.utf8
config.htmlTag_langKey = pl-PL.utf8
config.sys_language_uid = 8

[globalVar = GP:L = 9]
config.language = pt
config.locale_all = pt_PT.utf8
config.htmlTag_langKey = pt-PT.utf8
config.sys_language_uid = 9

[END]

## Language Menu
lib.language_menu = HMENU
lib.language_menu {
  special = language
  special.value = 0,1,2,4,6,7,8,9
  1 = TMENU
  1 {
      wrap = <ul class="language-menu">|</ul>
      noBlur = 1
      NO = 1
      NO {
         linkWrap = <li>|</li>
         stdWrap.override = En || Da || De || Es || Lv || Ro || Pl || Pt
      }

      ACT < .NO
      ACT {
          linkWrap = <li class="active">|</li>
      }

      # NO + Translation doesn't exist
      USERDEF1 < .NO
      # USERDEF1.doNotLinkIt = 1

      # ACT + Translation doesn't exist
      USERDEF2 < .ACT
      # USERDEF2.doNotLinkIt = 1
  }
}

您需要設置config.linkVars以在所有鏈接中保留語言GET參數: https : //docs.typo3.org/typo3cms/TyposcriptReference/Setup/Config/Index.html#linkvars

示例(如果您只有兩種語言):

config.linkVars = L(0-1)

如果realUrl不呈現/<lng>/mypage.html類的/<lng>/mypage.html而僅mypage.html?L=<2>

  • 檢查您的realurl配置文件的路徑,請參閱擴展管理器->真實網址->設置realurl在其中尋找它的位置
  • 檢查擴展管理器realurl中的設置:是否啟用了自動配置?
  • 檢查域設置記錄(有時,重裝需要域記錄集)
  • 檢查包含documentroot的頁面的設置是否為“文檔根目錄”(幫助realurl生成有效的realUrl自動配置。

如果您從頭開始使用realurl,則刪除自動生成的realurl配置文件,禁用擴展名並再次啟用enableurl,有時在修復錯誤后會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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