Zum Inhalt springen

Mehrsprachigkeit + Layout

Erstellt am 17. März 2004 · 4 Antworten · letzte Antwort am 28. März 2004

Tags: Templates & Layouts, Frage

Dana ·

Hallo,

selbst auf die Gefahr hin, dass ich eh wieder keine Antwort bekomme, weil meine Fragen sowieso nur Basics sind, muss ich nochmal nerven, denn ich komme seit Tagen nicht mehr weiter.
Habe dieses Forum durchsucht, gelesen + Anleitungen von:
http://www.c-dev.ch/kaepten/typo3/tutorial_1_sprachen.html
http://typo3.jweiland.net/typo3_languages.html
http://typo3.jweiland.net/tip6+M54a708de802.html
studiert.

Meine Webseite wurde inzwischen erfolgreich mit L=1 (Deutsch) und L=0 (Englisch) eingerichtet, Inhalte übersetzen klappt, nur bekomme ich das Fähnchen-Menü nicht von unten links (außerhalb meines Layouts, wenn ich ganz zu Beginn

page.110 = PHP_SCRIPT 
page.110.file = fileadmin/scripts/my_languageMenu.inc

in die eigentliches Stelle meines HTML-Templates gefügt. Ich arbeite mit dem Template AutoParser und habe mir nach Anleitung des Modern Template Building I-PDF's mein eigenes Layout umgesetzt.

Unter anderem mit folgenden Definitionen (einzelnd + ohne #) habe ich versucht, meinen Marker im Template anzusprechen - ohne Erfolg:

#marks.language = PHP_SCRIPT 
#marks.language.file = fileadmin/scripts/my_languageMenu.php

#page.10.marks.language = PHP_SCRIPT 
#page.10.marks.language.file = fileadmin/scripts/my_languageMenu.php

#Sprach Auswahl definition 
#marks.LANGUAGE < temp.language

#marks.language = PHP_SCRIPT 
#marks.language.file = fileadmin/scripts/my_languageMenu.php

#page.110.subparts.LANGUAGE = PHP_SCRIPT 
#page.110.subparts.LANGUAGE.file = fileadmin/scripts/my_languageMenu.inc

#subparts.marks.LANGUAGE = PHP_SCRIPT 
#subparts.marks.LANGUAGE.file = fileadmin/scripts/my_languageMenu.inc

Ist natürlich hier jetzt auskommentiert, war es beim Testen nicht.

Unter "Install" ist die Option, dass externe PHP-Scripte, außerhalb vom Media/Scripts-Pfad, zugelassen werden, eingestellt. Daran lag es auch nicht.

Ich nehme wirklich an, dass es vielleicht nur eine Kleinigkeit ist, die ich Newbee einfach nicht sehe - vielleicht die verkehrte Reihenfolge, oder so?

Hier meine aktuellen Template-Setups:

#Nur wenn diese auskommentiert, dann Anzeige der Fähnchen außerhalb des Menüs sichtbar
#page.110 = PHP_SCRIPT 
#page.110.file = fileadmin/scripts/my_languageMenu.inc

# SprachVariable L initialisieren 
config.linkVars = L 

# Standardsprache UID 0 -> Englisch
config.sys_language_uid = 0 
config.language = en
config.locale_all = english


# Deutsch, sys_language.uid = 1
[globalVar = GP:L = 1] 
config.sys_language_uid = 1
config.language = de
config.locale_all = de_DE
[global]

# Defining the Subpart "language" 
temp.language = PHP_SCRIPT 
temp.language.file = fileadmin/scripts/my_languageMenu.inc

 
#page.10.marks.language = PHP_SCRIPT 
#page.10.marks.language.file = fileadmin/scripts/my_languageMenu.php

#page.10 { 
 #  marks.language = PHP_SCRIPT 
  # marks.language.file = fileadmin/scripts/my_languageMenu.php 
  # }

Dazwischen kommt der Template AutoParser, den ich hier mal nicht mit poste + mein Menü und dann geht es weiter mit dem nächsten externen Template des cObjects:

# Defining the Subpart "language" 
temp.language = PHP_SCRIPT 
temp.language.file = fileadmin/scripts/my_languageMenu.inc


# Main TEMPLATE cObject for the BODY
temp.mainTemplate = TEMPLATE
temp.mainTemplate {
    # Feeding the content from the Auto-parser to the TEMPLATE cObject:
  template =< plugin.tx_automaketemplate_pi1
    # Select only the content between the <body>-tags
  workOnSubpart = DOCUMENT_BODY


    # Substitute the ###menu_1### subpart with dynamic menu:
  subparts.menu_1 < temp.menu_1

# Substitute the ###language### subpart 
  subparts.language < temp.language

# Lädt das User-Online-Script beim Marker ###USERSONLINE### ins Layout
subparts.usersonline =< plugin.tx_khusersonline_pi1

   # Substitute the ###content### subpart with some example content:
 subparts.content < styles.content.get


}




 
# Main TEMPLATE cObject for the HEAD
temp.headTemplate = TEMPLATE
temp.headTemplate {
    # Feeding the content from the Auto-parser to the TEMPLATE cObject:
  template =< plugin.tx_automaketemplate_pi1
    # Select only the content between the <head>-tags
  workOnSubpart = DOCUMENT_HEADER
}
 
 
 
# Default PAGE object:
page = PAGE
page.typeNum = 0

 
# Copying the content from TEMPLATE for <body>-section:
page.10 < temp.mainTemplate
 
# Copying the content from TEMPLATE for <head>-section:
page.headerData.10  < temp.headTemplate

In mein HMTL-Template habe ich (zum Testen, weil verzweifelt + auch ziemlich verwirrt) mittlerweile zwei Marker gesetzt.
Einmal eine neue Tabelle in die TD des Menüs mit eingefügt (eventuelle Fehlerquelle?):

<table>
			  <tr>
			  <td align="left" valign="top" width="180">
			  <!--###LANGUAGE### start-->sprachmenu<!--###LANGUAGE### stop--> 
			  </td>
			  </tr>
			  </table>

Und einmal an einer anderen Stelle, da ich nicht mehr weiß, was nun richtig oder falsch ist:

            </td>
            <td width="440" align="left"><img src="clear.gif" width="1" height="20">
			<!--###LANGUAGE### --></td>

Ich denke, die Variante mit den subparts.language < temp.language könnte der richtige Weg für eine Lösung sein. Bin echt verzweifelt und wäre total dankbar über Hilfe, wenn es jemand überhaupt bis hierher geschafft hat zu lesen ...

LG
Dana

P.S.: Meine Script-Datei habe ich zwischenzeitlich zur Probe von .php auf .inc umbenannt - nicht wundern über die o.g. unterschiedlichen Verweise.

Stoneage ·

Die Zuweisung vom L Parameter zu den Fähnchen ist hartcodiert in der php datei (mylanguage.php) drin. einfach ändern... 😉

T.

Dana ·

Hi Tetramatrix,

danke für deine schnelle Antwort. *knuddel* Was ich aber nicht so ganz verstehe, was ich an der L-Parameter-Zuweisung ändern soll, denn die Fähnchen funktionieren ja im Zusammenhang mit den Sprachen korrekt, nur bekomme ich sie nicht an die gewünschte Marker-Position im Layout. *kopfkratz*
Oder habe ich heute vollkommen ein Brett vorm Kopf?

LG
Dana

Stoneage ·

####### irgendwo im template deklarieren ######
temp.faehnchen = PHP_SCRIPT
temp.faehnchen.file = fileadmin/scripts/my_languageMenu.php

####### Dein TS Template #########
temp.mainTemplate = TEMPLATE
temp.mainTemplate {

...
...

subparts.faehnchen < temp.faehnchen

(diese Zeile einfügen, UND im HTML Template den Marker ###faehnchen### an die richtige Stelle einbauen)

...

...
}

Habe ich mal so schnell hingehackt, sollte aber funktionieren.

T.

Dana ·

Hi Tetramatrix!

Danke für deine Hilfe - ich hatte es inzwischen hinbekommen, nur keine Zeit mehr gehabt, vor meiner Abreise hier noch zu posten.
Es lag schlichtweg an meiner Dummheit, dass ich der Zelle im HTML-Template keine ID zugewiesen hatte, bzw. dass ich eine Tabelle mit eben dieser ID für die Sprachen in einer anderen Zelle, die ebenfalls eine ID besaß, reingebastelt hatte. Das hat sich irgendwie nicht vertragen.

Viele Grüße und einen schönen Sonntag,

Dana