Suckerfish Dropdown: Aktive Sprache nach oben stellen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • ph!L
    Contao-Fan
    • 04.11.2009
    • 470

    #1

    Suckerfish Dropdown: Aktive Sprache nach oben stellen

    Hallo Zusammen,

    ich nutze auf einer Seite changelanguage und der Kunde möchte jetzt dass in der ersten ebene des Dropdowns nicht mehr "Change Language" steht, sondern jeweils die aktive Sprache.

    So soll es sein: http://swissdiamond.kdtest.ch/home/

    Das passiert bei weiteren Sprachen: http://swissdiamond.kdtest.ch/uk/home/

    Das funktioniert bei "International" ganz gut, und auch bei den anderen, allerdings bleibt die Sortierungsreihenfolge immer gleich. Das heißt wenn die 3. Sprache der Liste aktiv ist, dann zeigt er die 3. Sprache auch zum Dropdown ausklappen an, darüber aber noch die 1. und 2. Sprache was die Darstellung dann zerstört.

    Wie kann ich denn die aktive Sprache immer als 1. <li> ausgeben und alle anderen danach sortieren?

    Danke und Gruß,

    Philipp
  • ph!L
    Contao-Fan
    • 04.11.2009
    • 470

    #2
    Nochmal ein Feedback:

    Meine Idee wäre jetzt, die ganz normale anzeige zu verwenden, die aktive Sprache auszublenden und dann oben drüber aus der DB die momentan aktive Sprache auszulesen und anzuzeigen:

    HTML-Code:
    <!-- indexer::stop -->
    <div class="<?php echo $this->class; ?> block"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
    <div id="inside">
    <?php if ($this->headline): ?>
    
    <<?php echo $this->hl; ?>><?php echo $this->headline; ?></<?php echo $this->hl; ?>>
    <?php endif; ?>
    
    <ul>
    <li class="select"><a href="./" style="line-height: 48px;"><span>COUNTRIES: SELECT</span></a>
    <ul>
    <?php foreach ($this->languages AS $arrLang): ?>
    <?php if ($arrLang['active']): ?>
    
    <li class="active <?php echo $arrLang['class']; ?>"><span class="active">
    <?php if ($this->useImages): ?><img src="<?php echo $arrLang['icon']; ?>" alt="<?php echo $arrLang['pageTitle']; ?>"<?php echo $arrLang['iconsize']; ?> />
    <?php else: echo $arrLang['label']; endif; ?>
    </span></li>
    
    <?php else: ?>
    
    <li<?php if(strlen($this->class)): ?> class="<?php echo $arrLang['class']; ?>"<?php endif; ?>>
    <a href="<?php echo $arrLang['href']; ?>"<?php echo $arrLang['target']; ?> style="line-height: 14px;" title="<?php echo $arrLang['pageTitle']; ?>"><?php if ($this->useImages): ?><img src="<?php echo $arrLang['icon']; ?>" alt="<?php echo $arrLang['pageTitle']; ?>"<?php echo $arrLang['iconsize']; ?> />
    <?php else: echo $arrLang['label']; endif; ?></a>
    </li>
    
    <?php endif; ?>
    
    <?php endforeach; ?>
    </ul>
    </li>
    </ul>
    </div>
    </div>
    <!-- indexer::continue -->
    An der Stelle wo "COUNTRIES: SELECT" steht müsste dann also sowas wie $this->language oder so stehen.

    Weiß da jemand den Befehl für?

    Kommentar

    • andreas.schempp
      Contao Core-Team
      Association Vorstand
      • 15.06.2009
      • 5701

      #3
      Du kannst die Reihenfolge der Einträge über die eigenen Sprachlabels sortieren. Dann musst du allerdings mehrere Frontend-Module anlegen.
      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

      Kommentar

      • ph!L
        Contao-Fan
        • 04.11.2009
        • 470

        #4
        Ja genau das wollte ich eben vermeiden. Ich habe auf dem Projekt 9 Sprachvarianten mit je 80 Seiten, dafür müsste ich dann jeweils ein Layout anlegen in welches ich das jeweilige Modul lege. Das dann alles den jeweiligen Seiten zuzuordnen sollten dann geschätzte 3000 Klicks sein.

        Kann ich nicht irgendwie die aktuelle Sprache aus der Datenbank auslesen und ausgeben? Das würde mir schon völlig reichen um das Modul universell einsetzbar zu machen!

        Kommentar

        Lädt...