Zum Inhalt springen

Mehrsprachigkeit im Shop (tt_products)

Erstellt am 15. Juni 2004 · 5 Antworten · letzte Antwort am 27. April 2006

Tags: Links, Frage

else_jr ·

Hallo,

ich habe ein Problem mit der Mehrsprachigkeit im Shop. Ich habe 2 Templates (de.tmpl und en.tmpl) fuer tt_products. Das funktioniert auch super. Auch bei der Wahl anderer Menuepunkte gibt es keine Problem mit der Sprache. Nur mit Links von tt_products.

Problembeschreibung im FE (default Language ist Deutsch):

  • - ich aendere die Sprache auf Englisch -> OK
    - ich oeffne die "LIST" Ansicht von tt_products -> OK
    - wenn ich nun aber ueber "more" (zwischen ###LINK_ITEM###) zur "SINGLE" Ansicht wechsel, springt die Sprache wieder auf Deutsch zurueck

Das gleiche Problem habe ich auch, wenn ich mich durch die Produkte steppe (z.B. naechsten 4 Produkte, also zwischen ###LINK_NEXT###, natuerlich auch zwischen ###LINK_PREV###).

Also fest steht, dass kein "&L=1" an die URL rangehaengt wird(so machen es ja die meisten). Wie kann ich meinen Jungen dazu bringen?

Ich kann mir gut vorstellen das des Pudelskern in class.tx_ttproducts.php steckt. Leider konnte ich keine Beitraege zu diesem Thema finden. Ich koennte mir vorstellen, dass dieses Problem auch bei tt_news auftaucht, was ich aber noch nicht getestet habe da es keine englischen News auf der Seite geben wird!

Kann mir jemand einen Tipp oder Ansatzpunkt geben?

besten Dank für Eure Hilfe vorab.

Else

renee ·

Hola,

ich hatte das selbe Problem mit tt_news und vermute das es beim Shop ähnlich ist.

In der Datei class.tx_ttproducts.php gibt es eine Zeile
(so oder so ähnlich)

$wrappedSubpartArray["###LINK_ITEM###"]= array('<A href="'.$this->getLinkUrl($this->conf["PIDitemDisplay"]).'&tt_news='.$row["uid"].'" '.$itemLinkTarget.'>','</A>');

ändern in:
$wrappedSubpartArray["###LINK_ITEM###"]= array('<A href="'.$this->getLinkUrl($this->conf["PIDitemDisplay"]).'&tt_news='.$row["uid"].'&L='.$GLOBALS["TSFE"]->sys_language_uid.'" '.$itemLinkTarget.'>','</A>');

dann wird der &L Link übergeben.

Es gibt verschiedene Stellen, einfach mal schauen.

Aber mal ne ganz andere Frage:

Wie hast du das mit den 2 Templates gemacht?

headkit ·

Das mit dem Template geht über einen Template-Eintrag in den Konstanten:

plugin.tt_products.file.templateFile = fileadmin/Templates/PlugIns/products_template_de.tmpl
[globalVar = GP:L = 1]
plugin.tt_products.file.templateFile = fileadmin/Templates/PlugIns/products_template_en.tmpl
[global]
headkit ·

[Eintrag für else_jr]

Super, es funktioniert!

Und wie ist dann die Änerung für die prev / next-Links?
Also für ["###LINK_NEXT###"] und ["###LINK_prev###"] innerhalb dieser Datei (class.tx_ttproducts.php)

Gruß,
hk

else_jr ·

einfach ca 20 Zeilen tiefer

$wrappedSubpartArray["###LINK_NEXT###"]=array('<A  href="'.$url.'&begin_at='.$next.'">','</A>');

gegen

$wrappedSubpartArray["###LINK_NEXT###"]=array('<A href="'.$url.'&begin_at='.$next.'&L='.$GLOBALS["TSFE"]->sys_language_uid.'">','</A>');

und noch ein wenig tiefer

$wrappedSubpartArray["###LINK_PREV###"]=array('<A  href="'.$url.'&begin_at='.$prev.'">','</A>');

gegen

$wrappedSubpartArray["###LINK_PREV###"]=array('<A  href="'.$url.'&begin_at='.$prev.'&L='.$GLOBALS["TSFE"]->sys_language_uid.'">','</A>');

austauschen.

gruss else

tobip ·

Wenn man das nun hat, dass man ein übersetztes Template lädt, sind ja trotzdem die Produkte und deren Beschreibung noch auf deutsch. Wie ist das zu lösen, dass sich durch klick auf einen Link, z.B.: English, auch die Produkte in Englisch zu sehen sind ? Habe einen SysFolder "Produkte de" und einen "Produkte en" gemacht. Aber wie nun weiter ? Wie sag ich, dass Typo3 beim klick auf den Link nicht nur das englische Template laden soll, sondern auch die Ausgangspunkte der Plugins Produktlisten ändert ? Ist das überhaupt möglich ? Weil es bringt einem Engländer nichts wenn nur die Navigation, nicht aber die Produkte auf englisch sind. Gruß, Tobi