Zum Inhalt springen

Mehrsprachigkeit -Navigation und Content - Templateanpassung

Erstellt am 6. Mai 2004 · 3 Antworten · letzte Antwort am 7. Mai 2004

Tags: Frage

huebi_s ·

Hallo zusammen

Bin ziemlich neu im typo und versuche seit Tagen meine Seite zweisprachig hinzukriegen.
Habe in der Zwischenzeit auch so ziemlich alle Tutorials durchgesehen, komme aber auf kein Ergebnis.

Die Navigation der zweiten Sprache (English) kommt nicht zum Vorschein und im Content erscheinen beide Sprachen untereinander.

Bin am verzweifeln. Wäre wirklich cool, wenn mir jemand aus der Patsche helfen könnte!!!

Mein template sieht inzwischen so aus:

seite = PAGE
seite.stylesheet = fileadmin/styles.css
seite.typeNum = 0
seite.bodyTag =<body bgcolor = "black" leftmarging="0" topmargin="0">

# _blank als Standardziel für externe Links 
config.intTarget = {$PAGE_TARGET} 
config.extTarget = _blank 


# SprachVariable L initialisieren 
config.linkVars = L 

# Standardsprache UID 0 -> Deutsch
config.sys_language_uid = 0 
config.language = de 
config.locale_all = de_DE
#Suche nur deutsch
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 0 


# English, sys_language.uid = 1 
[globalVar = GP:L = 1] 
config.sys_language_uid = 1 
config.language = en
config.locale_all = english
[global] 

#Suche nur englisch
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 1 

#Sprachen sortieren
select.orderBy = sorting 
select.where = colPos=0 
select.languageField = sys_language_uid 

config.language = de
seite.config.language = de


config.tx_loginusertrack_enable = 1


seite.config.index_enable = 1
seite.config.index_externals = 1


seite.10 = TEMPLATE
seite.10 {
    template = FILE
    template.file = fileadmin/kw_intranet.html
    workOnSubpart = DOKUMENT

    marks.NAVIGATION = HMENU
    marks.NAVIGATION.collapse = 1
    marks.NAVIGATION.1 = TMENU
    marks.NAVIGATION.1.NO.ATagParams = class="navigation"
    marks.NAVIGATION.1.NO.allWrap =<div> <BR> &nbsp; &nbsp; | <BR></div>
    marks.NAVIGATION.2 = TMENU
    marks.NAVIGATION.2.NO.ATagParams = class="navigation"
    marks.NAVIGATION.2.NO.allWrap =<div> &nbsp; &nbsp; &nbsp; &nbsp; | <BR></div>
    marks.NAVIGATION.3 = TMENU
    marks.NAVIGATION.3.NO.ATagParams = class="navigation"
    marks.NAVIGATION.3.NO.allWrap =<div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | <BR></div>
    marks.NAVIGATION.4 = TMENU
    marks.NAVIGATION.4.NO.ATagParams = class="navigation"
    marks.NAVIGATION.4.NO.allWrap =<div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | <BR></div>

    marks.INHALT = CONTENT
    marks.INHALT.select.orderBy = sorting
    marks.INHALT.table = tt_content
        select.orderBy = sorting
        select.where = colPos=0

    marks.SPRACHE = PHP_SCRIPT
    marks.SPRACHE.file = fileadmin/scripts/example_languageMenu.php

    }

Und mein php script:

<?php

$query = "SELECT * FROM pages_language_overlay WHERE pid=".$GLOBALS["TSFE"]->id.$GLOBALS["TSFE"]->sys_page->enableFields("pages_language_overlay")." GROUP BY sys_language_uid";

$res = mysql(TYPO3_db,$query);
$langArr=array();
while($row=mysql_fetch_assoc($res))	{
	$langArr[$row["sys_language_uid"]]=$row["title"];
}

$flags = array();

$flags[] = ($GLOBALS["TSFE"]->sys_language_uid==0).'<a class="navigation" href="index.php?id='.
$GLOBALS["TSFE"]->id.'&L=0" target=_top>DEUTSCH</a>';

$flags[] = ($GLOBALS["TSFE"]->sys_language_uid==1).'<a class="navigation" href="index.php?id='.
$GLOBALS["TSFE"]->id.'&L=1" target=_top>ENGLISH</a>';

$content = '<tr><td></td><td class="navigation">'. implode(" / ",$flags).'</td></tr>';

?>
huebi_s ·

Hallo TW

Vielen Dank für deine schnelle Antwort.

Wenn du mit zweite Sprache installieren, die "Website Sprache (1)" auf dem Seitenbaum meist, dann ja.

Den Seitentitel habe ich auch nochmals nachgesehen, sollte ok sein.

"Dein" Tutorial hatte wurde auch schon durchgecheckt.

Meine Vermutung geht davon aus, dass irgendwas im Template zusätzlich angepasst werden muss. Komm aber nicht dahinter was.

Gruss Hübi

huebi_s ·

Hab die Lösung gefunden!!! #giggle#

Bei der Navigation hatte ich eine falsche id mitgegeben (hat sich beim rumprobieren ja verändert) und beim Content-Bereich musste noch der tt_content im template entsprechend ergänzt und angepasst werden.

Für alle die gleichen arbeiten hier noch mein funktionierender Code:

Setup im template:

# SprachVariable L initialisieren 
config.linkVars = L 


# Standardsprache UID 0 -> Deutsch
config.sys_language_uid = 0 
config.language = de 
config.locale_all = de_DE
#Suche nur deutsch
#plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 0 


# English, sys_language.uid = 3 
[globalVar = GP:L = 3] 
config.sys_language_uid = 3 
config.language = en
config.locale_all = english
#Suche nur englisch
#plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 1 
[global] 


seite.10 = TEMPLATE
seite.10 {
    template = FILE
    template.file = fileadmin/kw_intranet.html
    workOnSubpart = DOKUMENT

    marks.NAVIGATION = HMENU
    marks.NAVIGATION.collapse = 1
    marks.NAVIGATION.1 = TMENU
    marks.NAVIGATION.1.NO.ATagParams = class="navigation"
    marks.NAVIGATION.1.NO.allWrap =<div> <BR> &nbsp; &nbsp; | <BR></div>
    marks.NAVIGATION.2 = TMENU
    marks.NAVIGATION.2.NO.ATagParams = class="navigation"
    marks.NAVIGATION.2.NO.allWrap =<div> &nbsp; &nbsp; &nbsp; &nbsp; | <BR></div>
    marks.NAVIGATION.3 = TMENU
    marks.NAVIGATION.3.NO.ATagParams = class="navigation"
    marks.NAVIGATION.3.NO.allWrap =<div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | <BR></div>
    marks.NAVIGATION.4 = TMENU
    marks.NAVIGATION.4.NO.ATagParams = class="navigation"
    marks.NAVIGATION.4.NO.allWrap =<div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | <BR></div>

    marks.INHALT = CONTENT
    marks.INHALT.select.orderBy = sorting
    marks.INHALT.table = tt_content
    marks.INHALT.select.orderBy = sorting 
    marks.INHALT.select.where = colPos=0 
    marks.INHALT.select.languageField = sys_language_uid

    marks.SPRACHE = PHP_SCRIPT
    marks.SPRACHE.file = fileadmin/scripts/example_languageMenu.php

    }

Und mein php script:

<?php

$query = "SELECT * FROM pages_language_overlay WHERE pid=".$GLOBALS["TSFE"]->id.$GLOBALS["TSFE"]->sys_page->enableFields("pages_language_overlay")." GROUP BY sys_language_uid";

$res = mysql(TYPO3_db,$query);
$langArr=array();
while($row=mysql_fetch_assoc($res))	{
	$langArr[$row["sys_language_uid"]]=$row["title"];
}

$flags = array();

$flags[] = ($GLOBALS["TSFE"]->sys_language_uid==0).'<a class="navigation" href="index.php?id='.
$GLOBALS["TSFE"]->id.'&L=0" target=_top>DEUTSCH</a>';

$flags[] = ($GLOBALS["TSFE"]->sys_language_uid==3).'<a class="navigation" href="index.php?id='.
$GLOBALS["TSFE"]->id.'&L=3" target=_top>ENGLISH</a>';

$content = '<tr><td></td><td class="navigation">'. implode(" / ",$flags).'</td></tr>';

?>

Viel Glück und happy landing! 😉