Przełączanie języka w TYPO3 v6
Przełączanie języka fontend nie działa dla mnie zgodnie z oczekiwaniami. Co do tej pory zrobiłem:
Na stronie głównej stworzyłem dwa języki: niemiecki i angielski:
W szablonie literówki dodałem następującą konfigurację: większość z nich została rozrzucona po sieci:
config {
tx_realurl_enable = 1
simulateStaticDocuments = 0
sys_language_uid = 0
language = de
locale_all = de_DE
htmlTag_langKey = de
linkVars := addToList(L)
uniqueLinkVars = 1
sys_language_mode = content_fallback
sys_language_overlay = 1
}
[globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de
[global]
[globalVar = GP:L = 2]
config.sys_language_uid = 1
config.language = en
config.locale_all = en_EN
config.htmlTag_langKey = en
[global]
Na stronie utworzyłem nowe tłumaczenie strony i dodałem trochę treści.
Po lewej stronie znajduje się standardowy język (w tym przypadku niemiecki) wypełniony lorem ipsum. Po prawej stronie jest nowy język (angielski) wypełniony inną treścią, aby zobaczyć jakiś efekt.
Teraz, gdy klikam małą ikonę podglądu nad angielską kolumną, zabiera mnie toindex.php?id=3&L=2
, co wskazuje na toL=2
jest dodany. Ale zawartość na stronie nadal jest standardową (niemiecką / lorem ipsum) treścią. Gdzie się myliłem?
Ponadto: dodałem menu do interfejsu, aby umożliwić użytkownikowi przełączanie się między językami:
languageMenu = HMENU
languageMenu {
special = language
special.value = 0,2
1 = TMENU
1 {
wrap = <ul id="language"> | </ul>
NO = 1
NO {
wrapItemAndSub = <li> | </li>
stdWrap.override = deutsch || english
}
ACT < .NO
ACT {
ATagParams = class="active"
}
}
}
W połączeniu z realurl daje to takie adresy URL:
Niemiecki:/startseite/
Język angielski:/2/home/
de
ien
zamiast liczb dla języków?Jak mogę się upewnić, że adres URL zawsze zawiera parametr języka niemieckiego lub angielskiego?Kiedy jest włączony/startseite/
, odpowiednie łącze się pojawiclass="active"
, ale na/2/home/
, żaden link nie jest oznaczony jako aktywny. Jak można to naprawić?TYPO3 i wielojęzyczność wydają się mylącym tematem, mam nadzieję, że niektórzy z was odpowiedzą na niektóre z moich pytań. Z góry dziękuję!
Edytuj: Znalazłem rozwiązanie dzięki Danielowi.Tutaj jest na wypadek, gdyby ktoś inny miał ten sam problem:
Ustawiać:
config {
tx_realurl_enable = 1
simulateStaticDocuments = 0
sys_language_uid = 0
language = de
locale_all = de_DE
htmlTag_langKey = de
linkVars := addToList(L)
uniqueLinkVars = 1
sys_language_mode = content_fallback
sys_language_overlay = 1
}
[globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de
[global]
[globalVar = GP:L = 2]
config.sys_language_uid = 2
config.language = en
config.locale_all = en_EN
config.htmlTag_langKey = en
[global]
[...]
languageMenu = HMENU
languageMenu {
special = language
special.value = 0,2
1 = TMENU
1 {
wrap = <ul id="language"> | </ul>
NO = 1
NO {
wrapItemAndSub = <li> | </li>
stdWrap.override = deutsch || english
}
ACT < .NO
ACT {
ATagParams = class="active"
}
}
}
RealUrl conf:
'preVars' =>
array(
0 =>
array(
'GETvar' => 'L',
'valueMap' =>
array(
'de' => '0',
'en' => '2',
),
'valueDefault' => 'de'
),
),