Ergebnis 1 bis 8 von 8

Thema: changelanguage als select-Box

  1. #1
    Contao-Nutzer
    Registriert seit
    10.04.2010.
    Ort
    Stuttgart
    Beiträge
    25

    Standard changelanguage als select-Box

    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:

    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>
    (Bitte beachten, daß ich den Quellcode in der else-Schleife hier der Übersichtlichkeit halber zusammengedampft habe.)

    - speichern und im Sprachwechsler-Modul das Navigationstemplate auf den template-Namen einstellen (hier: nav_default_changelng.html5)

    Vielleicht kann's ja jemand brauchen
    Viele Grüße
    Oliver Schroth

  2. #2
    Contao-Nutzer
    Registriert seit
    14.10.2012.
    Beiträge
    32

    Standard

    funktioniert das bei dir mit IE (11) ?
    Da spinnt das bei mir irgendwie und ändert die URL falsch.

  3. #3
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.613
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hol dir am besten das "nav_dropdown" Template von hier https://github.com/terminal42/contao...elop/templates
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  4. #4
    Contao-Nutzer
    Registriert seit
    14.10.2012.
    Beiträge
    32

    Standard

    da hab ich bei IE 11 das gleiche problem, es generiert bei änderung der sprache dann sowas:

    /de/en/home.html
    ..
    /de/en/en/en/en/en/home.html

    bei Chrome, Firefox und so weiter funktioniert es..

  5. #5
    Contao-Fan
    Registriert seit
    16.08.2009.
    Beiträge
    486

    Standard

    Hallo!

    Ja, da Problem habe ich auch.
    Aus "http://www.abc.de/index.php/de/hallo.html" wird "http://www.abc.de/index.php/de/index.php/fr/hallo.html" ...
    Eine Idee dazu?

  6. #6
    Contao-Fan
    Registriert seit
    16.08.2009.
    Beiträge
    486

    Standard

    Ich habe im Template ein "/" eingefügt, dass scheint zu helfen.

    Code:
    <option <?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?> value="/<?php echo ($item['href']); ?>"><?php echo str_repeat('[nbsp][nbsp][nbsp]', $intLevel-1); ?><?php echo $item['link']; ?><?php echo $item['subitems']; ?></option>

  7. #7
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.613
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Richtig wäre es, bei "value" folgendes zu schreiben:
    PHP-Code:
    <?php echo \Environment::get('base').$item['href']; ?>
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  8. #8
    Contao-Nutzer Avatar von peter_lang
    Registriert seit
    18.10.2011.
    Ort
    Frankfurt am Main
    Beiträge
    213

    Standard

    Hi,

    habe es verbaut, klappt prima, allerdings wird mir in der ersten Auswahl, also der aktiven Sprache keine Flagge angezeigt.

    Jemand ne Idee?

    so schaut es aus : lang2.png
    Geändert von peter_lang (20.05.2015 um 08:15 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •