Contao: changelanguage-Erweiterung mit Grafiksymbolen

Die Erweiterung '[changelanguage] Sprachenwechsler' wurde so aktualisiert, dass für die Ausgabe jetzt das allgemeine Template 'nav_default.xhtml' (.html5) verwendet wird. Probleme bekommt man mit der Erweiterung, wenn man Ländersymbole statt Text in einer früheren Version verwendet hat. Wie sich die aktuelle Version der Erweiterung auch mit Ländersymbolen nutzten lässt, möchte ich im Folgenden kurz erläutern.

Schritt 1: Nach der Aktualisierung der Erweiterung über das Backend, legt man zunächst ein neues Template 'nav_default.xhtml' (.html5) an und nennt es bspw. 'nav_default_lang.xhtml'.
Contao Sprachwechsler
Schritt 2: Im Modul, welches in die entsprechenden Seitenlayouts eingebunden ist, wählt man das neue Template als Basis aus.
Contao Sprachwechsler
Schritt 3: Im neu erstellten Template entfernt man die Ausgabe des Textes (z.B. 'DE' 'EN') zunächst durch Ändern des Codes, wie folgt:

CODE:
  1.  
  2. <ul class="<?php echo $this->level; ?>">
  3. <?php foreach ($this->items as $item): ?>
  4. <?php if ($item['isActive']): ?>
  5. <li class="active<?php if ($item['class']): ?> <?php echo $item['class']; ?><?php endif; ?>"><span class="active<?php if ($item['class']): ?> <?php echo $item['class']; ?><?php endif; ?>"></span><?php echo $item['subitems']; ?></li>
  6. <?php else: ?>
  7. <li<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?>><a href="<?php echo $item['href']; ?>" title="<?php echo $item['pageTitle'] ? $item['pageTitle'] : $item['title']; ?>"<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?php echo $item['accesskey']; ?>"<?php endif; ?><?php if ($item['tabindex']): ?> tabindex="<?php echo $item['tabindex']; ?>"<?php endif; ?><?php if ($item['nofollow']): ?> rel="nofollow"<?php endif; ?><?php echo $item['target']; ?>></a><?php echo $item['subitems']; ?></li>
  8. <?php endif; ?>
  9. <?php endforeach; ?>
  10. </ul>
  11.  

Hier wurde zweimal der Eintrag

CODE:
  1. <?php echo $item['link']; ?>

aus dem Code entfernt.

Schritt 4: Jetzt definiert man folgendes CSS, um den Elementen entsprechende Hintergrundbilder zuzuweisen (Im Beispiel gibt es zwei Sprachen de und en):

CODE:
  1.  
  2. .mod_changelanguage .lang-en a, .mod_changelanguage .lang-en span {
  3. width: 16px;
  4. height: 11px;
  5. display:inline-block;
  6. background-image: url(../../tl_files/mySite/icons/lang_en.gif);
  7. cursor: pointer;
  8. }
  9. .mod_changelanguage .lang-de a, .mod_changelanguage .lang-de span {
  10. width: 16px;
  11. height: 11px;
  12. display:inline-block;
  13. background-image: url(../../tl_files/mySite/icons/lang_de.gif);
  14. cursor: pointer;
  15. }
  16.  
Dieser Eintrag wurde veröffentlicht in Contao. Bookmarken: Permanent-Link. Kommentieren oder ein Trackback hinterlassen: Trackback-URL.

Ihr Kommentar

Ihre E-Mail wird niemals veröffentlicht oder verteilt. Benötigte Felder sind mit * markiert

*
*

Du kannst diese HTML Tags und Attribute verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>