Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Gibt es eine Variable wie $tpl_path, die jedoch sprachabhängig ist?

    servsens

    • Frisch an Board
    • Beiträge: 82
    Ich such nach einer Variablen, ähnlich wie $tpl_path, die jedoch -je nach ausgewählter Sprache- einen Pfad zu einem entsprechenden Bild liefert. Möglicherweise eine Kombination aus mehreren Variablen.
    Bildlich: je nach Sprache möchte ich in einer "Rückruf-Service"- bzw. "Callback Service"-Box eine Grafik mit deutschen Inhalt unter httpdocs/lang/german bzw. mit englischem Inhalt unter httpdocs/lang/english/ einrichten. Wie mache ich das am besten sprachabhängig?
    Danke!

    Linkback: https://www.modified-shop.org/forum/index.php?topic=41517.0

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Leg deine Bilder namentlich mit Sprachkürzel an, z. B. callback_service_de.png und callback_service_en.png.

    In der Template-Datei der Box kannst du das Bild dann wie folgt einbinden:

    Code: XML  [Auswählen]
    <img src="{$tpl_path}img/callback_service_{$smarty.session.language_code}.png" alt="{#callback_variable#}" />

    karsta.de

    • Experte
    • Beiträge: 3.048
    Mein Vorschlag, wenn du das nicht nur für den Callback-Service verwenden willst.
    Lege in den Ordner ROOT > templates/[DEIN_TEMPL]/img einen Ordner für jede Sprache an, also z.B. german und english.
    Dann die sprachlich passendenen Bilder in den jeweiligen Ordner hinterlegen.

    Nun kannst du im Template für die Bilder folgenden Pfad verwenden:
    <img src="{$tpl_path}img/{$smarty.session.language}/XXXX.png" alt="bild-alt-name">
    (.png wurde hier nur als Beispielendung verwandt.)
    Dabei sollten die Bildnamen und Bildformate (jpg, png, gif) natürlich gleich sein.

    -------
    Du könntest dir dafür aber auch eine eigene Variable in die templates/[DEIN_TEMPL]/source/boxes.php legen:
    SUCHE:
    Code: PHP  [Auswählen]
    $smarty->assign('tpl_path', DIR_WS_BASE.'templates/'.CURRENT_TEMPLATE.'/');
    DANACH EINFÜGEN:
    Code: PHP  [Auswählen]
    $smarty->assign('tpl_path_img', DIR_WS_BASE.'templates/'.CURRENT_TEMPLATE.'/img/'.$_SESSION['language'].'/');

    Nun kannst du diese ähnlich wie $tpl_path verwenden, heißt z.B. so:
    <img src="{$tpl_path_img}XXXX.png" alt="bild-alt-name">

    Auch hier gilt, der Bilddateiname muss gleich sein.

    BG Karsta

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.225
    • Geschlecht:
    {$smarty.session.language} ist nicht notwendig, denn {$language} sollte überall zur Verfügung stehen.

    Gruss Gerhard
    0 Antworten
    1749 Aufrufe
    26. Juni 2012, 01:26:06 von galadi
    1 Antworten
    2802 Aufrufe
    24. Dezember 2011, 09:33:25 von franky_n
    2 Antworten
    2842 Aufrufe
    24. Januar 2012, 09:09:05 von Toby