Language Switcher / Sprachumschaltung

21.10.2010 | eZ Publish

siehe auch die Doku:http://doc.ez.no/doc/eZ-Publish/Technical-manual/4.4/Features/Language-switcherfür jede Sprache einen eigenen Siteaccess erstellen (das ist kein großer Aufwand, wenn man

siehe auch die Doku:

http://doc.ez.no/doc/eZ-Publish/Technical-manual/4.4/Features/Language-switcher

für jede Sprache einen eigenen Siteaccess erstellen (das ist kein großer Aufwand, wenn man die AdditionalSiteDesign und RelatedSiteAccessList benutzt, die site.ini.append.php könnte z.B. folgende Abschnitte enthalten:


[SiteAccessSettings]
RequireUserLogin=true
RelatedSiteAccessList[]=plain_site
RelatedSiteAccessList[]=plain_site_admin
ShowHiddenNodes=false

[DesignSettings]
SiteDesign=fre
AdditionalSiteDesignList[]=plain_site
AdditionalSiteDesignList[]=base

Dann werden automatisch alle Templates von plain_site mitbenutzt, wenn keine entsprechenden Overrides in /design/fre enthalten sind.

Wichtig: im Abschnitt RegionalSettings muß eine Liste der vorhandene Sprachen und ihrer Siteaccesse abgelegt werden, z.B. :


[RegionalSettings]
TranslationSA[]
TranslationSA[plain_site]=English
TranslationSA[ger]=Deutsch
TranslationSA[ita]=Italiano
TranslationSA[esl]=Espagnol
TranslationSA[rus]=Россию

Im Template kann dann mittel der language_switcher-Funktion auf einfache Weise ein Sprachumschalter (z.B. als Selectbox) umgesetzt werden:


{def $translations = language_switcher( $module_result.content_info.node_id)}
  <select onchange="location.href=this.value" style="margin:3px 2px 2px 4px;">
        <option value="">-- {"Language"|i18n('design/standard/content')} --</option>
               {foreach $translations as $siteaccessName => $lang}
               <option value={$lang.url|ezurl}>{$lang.text|wash}</option>
                
               {/foreach}
  </select>

Es gibt übrigens auche eine simple Möglichkeit, die ez-eigenen Flaggensymbole zu verwenden. Der flag_icon-Templateoperator erzeugt einen Link zu den entsprechenden Symbolen:

<img src={'eng-GB'|flag_icon()} alt=&quot;English (United Kingdom)&quot; />

Analyse

Entwurf

Development

Launch