Ist wahrscheinlich für die alten php-Hasen ziemlich trivial, aber da ich als nur-für-den-Hausgebrauch-php-Mensch erfolglos nach einer fertigen Lösung gesucht habe, die changelanguage-Erweiterung statt über eine Nav-Liste über eine select-Box auszugeben, habe ich mich dann doch drangesetzt und für mich eine Lösung gefunden.
Funktioniert soweit. Sollten da grobe Fehler drin sein, bitte keine Zurückhaltung
- nav_default als neues template anlegen und sinnvollerweise gleich umbenennen (hier: nav_default_changelng.html5)
- Quellcode ändern:
(Bitte beachten, daß ich den Quellcode in der else-Schleife hier der Übersichtlichkeit halber zusammengedampft habe.)PHP-Code:
<select class="<?php echo $this->level; ?>" onchange="window.location=this.options[this.selectedIndex].value" name="target">
<?php foreach ($this->items as $item): ?>
<?php if ($item['isActive']): ?>
<option value="" selected="selected" class="<?php echo $item['class']; ?>"><span class="<?php echo $item['class']; ?>"><?php echo $item['link']; ?></span><?php echo $item['subitems']; ?></option>
<?php else: ?>
<option<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?>
value="<?php echo $item['href']; ?>"><?php echo $item['link']; ?><?php echo $item['subitems']; ?></option>
<?php endif; ?>
<?php endforeach; ?>
</select>
- speichern und im Sprachwechsler-Modul das Navigationstemplate auf den template-Namen einstellen (hier: nav_default_changelng.html5)
Vielleicht kann's ja jemand brauchen
Lesezeichen