Neu Wie kann ich die ausgewählte Sprache abfragen?

  • Ersteller des Themas Ersteller des Themas gnarx
  • Erstellungsdatum Erstellungsdatum

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.905
545
Da man ja Freifelder nicht in den Sprachen anlegen kann haben wir uns die in verschiedenen Sprachen angelegt. Um nun das richtige Freifeld anzugen würde ich eine if Abfrage einbauen wollen die die ausgewählte Sprache abfragt.
Kann mir jemand sagen wie die Variable heißt und was die ausgibt?
 

hii

Gut bekanntes Mitglied
6. Januar 2009
138
9
NRW
Wir machen unsere Abfragen für Sprachen im JTL Shop immer so:
Code:
{if $lang == ger}Deutsch{elseif $lang == fre}Französisch{elseif $lang == spa}Spanisch{else}Englisch und Fallback{/if}
 

hii

Gut bekanntes Mitglied
6. Januar 2009
138
9
NRW
Natürlich kann man auch nur {$lang} ausgeben um den ISO-3 ausgegeben zu bekommen. 🙂
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.905
545
Hab das jetzt für die Eigenen Felder so gelöst:
Code:
{if $lang == ger}
    {if (isset($Artikel->FunktionsAttribute.gutachten_de) && $Artikel->FunktionsAttribute.gutachten_de|@strlen > 0)}
    <h3>{lang section="global" key="Schade_gutachten"}</h3>
    <div class="Schade_Tabelle">{$Artikel->FunktionsAttribute.gutachten_de}</div>
    {/if}
{else}
    {if (isset($Artikel->FunktionsAttribute.gutachten_en) && $Artikel->FunktionsAttribute.gutachten_en|@strlen > 0)}
    <h3>{lang section="global" key="Schade_gutachten"}</h3>
    <div class="Schade_Tabelle">{$Artikel->FunktionsAttribute.gutachten_en}</div>
    {/if}
{/if}
 

martinwolf

Offizieller Service Partner
SPBanner
6. September 2012
3.724
355
Ich würde das ganze dynamischer aufbauen:

PHP:
{assign var=attr_gutachten value="gutachten_`$lang`"}
{if isset($Artikel->FunktionsAttribute.$attr_gutachten) && $Artikel->FunktionsAttribute.$attr_gutachten|@strlen > 0}
    <h3>{lang section="global" key="Schade_gutachten"}</h3>
    <div class="Schade_Tabelle">{$Artikel->FunktionsAttribute.$attr_gutachten}</div>
{/if}

So muss man nicht für jede Sprache eine Bedingung setzen. Das FunktionsAttribut muss dann "gutachten_ger" und "gutachten_eng" lauten.
 
  • Gefällt mir
Reaktionen: fibergirl und hii

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.905
545
Ah schöne Sache. Ich hatte schon versucht per Übersetzung das en usw. hinter zu hängen. Das ging aber schief.

Du bringst mich aber auf eine Idee. Könnte da so gehen?

{assign var=attr_gutachten value="gutachten_`lang section="global" key="Schade_sprachen` "}
In der Übersetzung steht de und en usw. drinne. Tu mich etwas schwer die eigenen jetzt noch umbenennen da die auch im Template für ebay drinne sind.
 
Zuletzt bearbeitet:

hii

Gut bekanntes Mitglied
6. Januar 2009
138
9
NRW
Folgendes könnte ein Ansatz sein und funktionieren...

Code:
{if $lang == 'ger'}
    {assign var=lang_neu value="de"}
{else}
    {assign var=lang_neu value="en"}
{/if}

{assign var=attr_gutachten value="gutachten_`$lang_neu`"}
{if isset($Artikel->FunktionsAttribute.$attr_gutachten) && $Artikel->FunktionsAttribute.$attr_gutachten|@strlen > 0}
    <h3>{lang section="global" key="Schade_gutachten"}</h3>
    <div class="Schade_Tabelle">{$Artikel->FunktionsAttribute.$attr_gutachten}</div>
{/if}
 
  • Gefällt mir
Reaktionen: gnarx

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.905
545
Joo noch besser vielen Dank für den Tipp, baue ich die Tage ein.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.905
545
So ich habe nun mal mit dem Tipp von @hii eine Abfrage für eine Extraüberschrift, also abweichend vom Kategorie Titel (per Eigenes Feld in DE und EN), in die Datei "Heáder.tpl" im Verzeichnis productlist, eingebaut.
Dabei ist die Variable "lang_neu" der jeweilige Name des eigenes Feldes.

Code:
        {if $oNavigationsinfo->getName() && $showTitle}
            <div class="title">
                {opcMountPoint id='opc_before_heading'}
                {block name='productlist-header-description-heading'}
                    {if $lang == 'ger'}
                        {assign var=lang_neu value="kategorietitel"}
                    {else}
                        {assign var=lang_neu value="kategorietitel_en"}
                    {/if}
                   
                    {assign var=kattitel value="`$lang_neu`"}
                         {if (isset($AktuelleKategorie->categoryFunctionAttributes.$kattitel) && $AktuelleKategorie->categoryFunctionAttributes.$kattitel > 0)}    
                            <h1 class="h2">{$AktuelleKategorie->categoryFunctionAttributes.$kattitel}</h1>
                        {else}
                            <h1 class="h2">{$oNavigationsinfo->getName()}</h1>
                    {/if}
                {/block}
            </div>
        {/if}
 
  • Gefällt mir
Reaktionen: hii

Ähnliche Themen