Tutorial: Einfügen eines fixen Textes in ein Template, sprachabhängig

Aus Wiki | modified eCommerce Shopsoftware
Zur Navigation springenZur Suche springen

Eine typische Problemstellung bei der Bearbeitung eines Templates ist das Einfügen von Textpassagen.


Fixe Texte einsprachig[Bearbeiten]

In Shops die definitiv einsprachig betrieben werden ist es einfach. Man fügt den Klartext an die entsprechende Stelle im Template ein.

Hier ein Beispiel der Seite des Newsletters:

templates/xtc5/module/newsletter.html

{config_load file="$language/lang_$language.conf" section="newsletter"}

<h1>{#heading_title#}</h1>
Dieses Formular ist mit einem Sicherheitscode gegen Spam gesch&uuml;tzt
...


Tut fixtext 1.png


Fixe Texte mehrsprachig[Bearbeiten]

Wird der Shop mehrsprachig betrieben muß der Text entspr. in mehreren Sprachen abgelegt werden. Dies geschieht in den Sprachdateien des Ordners "lang/". Darin Unterordner der Sprachen. Innerhalb des Ordners gibt es, neben einigen Bilddateien, 2 Arten Sprachdateien:

1. php-Dateien (Texte die Programmcode gebraucht werden)
2. conf-Datei (Texte die nur im Template verwendung finden)

Für den fixen Text benötigen wir die conf-Datei:

lang/german/lang_german.conf


Diese enthält Definitionen im Schema:

name = klartext
name2 = klartext2
name3 = klartext3


Da die Liste sehr lang ist, ist sie in Abschnitte unterteilt, genannt Sektionen:

[sektion1]
name = klartext
name2 = klartext2
name3 = klartext3

[sektion2]
name4 = klartext4
name5 = klartext5
name6 = klartext6


Um unseren Text zu platzieren müssen wir die passende Sektion finden. Dazu sehen wir in den Kopf des Templates:

templates/xtc5/module/newsletter.html

{config_load file="$language/lang_$language.conf" section="newsletter"}
...

Darin der Parameter: section="newsletter"

Jetzt suchen wir in der lang_german.conf die Sektion [newsletter] und erweiteren sie um einen frei definierten Eintrag. In diesem Beispiel "text_captchainfo".

lang/german/lang_german.conf

[newsletter]
heading_title = 'Newsletter'
heading_text = 'Unser Newsletter'
text_email = 'Ihre E-Mail-Adresse'
text_in = 'eintragen'
text_out = 'austragen'
text_sec_code = 'Sicherheitscode'
text_inp_code = 'Hier eingeben'

text_captchainfo = 'Dieses Formular ist mit einem Sicherheitscode gegen Spam gesch&uuml;tzt.'

Dies wiederholen wir in den conf-Dateien aller Sprachen.

lang/english/lang_english.conf

[newsletter]
heading_title = 'Newsletter'
heading_text = 'Our newsletter'
text_email = 'Your e-mail address'
text_in = 'subscribe to our newsletter'
text_out = 'cancel newsletter subscription'
text_sec_code = 'Security code'
text_inp_code = 'Enter here'

text_captchainfo = 'This form is protected by captcha.'

ggf. weitere Sprachen


Nun muß im Template an gewünschter Stelle der entsprechende Platzhalter eingefügt werden. Er sieht folgendermaßen aus:

{#text_captchainfo#}

Entsprechend im Template:


templates/xtc5/module/newsletter.html

{config_load file="$language/lang_$language.conf" section="newsletter"}

<h1>{#heading_title#}</h1>
{#text_captchainfo#}
...

Das Ergebnis:


Tut fixtext 2.png Tut fixtext 3.png


Ist in einem Template keine Sektion ("section=???") angegeben ist die Einfügung in der conf-Datei am Beginn der Datei vorzunehmen, im sektionslosen Bereich. Ebenso wenn ein neuer Text durchweg in allen Templates gültig sein soll, unabhängig von einer Sektion.


11.2011 h.koch

           
anything