Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit mehrsprachiger Webseite

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit mehrsprachiger Webseite

    Hi,
    ich bin beim Erstellen einer mehrsprachigen Seite auf ein Problem gestossen: das eingebaute Layout-Element "Suche" im Top-Bar lässt sich nur für eine Sprache konfigurieren, da ja ein Artikel angegeben werden muss, der sich in einem der Seitenbäume befinden muss, wo sich das Such-Modul befindet. Kann man das umgehen? Ein ähnliches Problem gibt es mit dem Footer und den Socials, aber da kann man es teilweise mit Insert-Tags lösen...

  • #2
    Never mind... ich bin selbst drauf gekommen. Man kann das _Themesettings: Suche Top Modul ja für jede Sprache anlegen und muss dann eben entweder für jede Sprache ein Layout anlegen oder per Insert Tags das für die jeweilige Sprache richtige Modul laden lassen. Umständlich, aber machbar.

    Kommentar


    • #3
      Ja, ist leider in Contao so. Mit Kernmodulen verhält es sich genauso.
      Alternative ist in den Templates Abzweigungen je aktiver Sprache zu erstellen.

      if($GLOBALS[TL_LANGUAGE] == 'de')
      {
      }
      usw...

      Sprachbasierte Inserttags gehen auch.

      http://www.premium-contao-themes.com

      Kommentar


      • #4
        Leider war ich zu voreilig. Ich kann ja insgesamt in allen Seitenbäumen nur einen Artikel mit dem Alias „suche” anlegen. Wa nu? Deine vorgeschlagene Methode verstehe ich nicht so ganz...

        Kommentar


        • #5
          Ah, alles klar, jetzt hab ich's verstanden. Ja, so geht's! Danke.

          Kommentar


          • #6
            Zitat von uliphant Beitrag anzeigen
            Ah, alles klar, jetzt hab ich's verstanden. Ja, so geht's! Danke.
            Hier als Beispiel für den Footer im Quantum: customelement_layout_footer.html5
            PHP-Code:
            <?php if($this->field('aktivieren')->value()): ?>
                <?php if($GLOBALS['TL_LANGUAGE'] == 'en'): ?>
                    <?php echo $this->replaceInsertTags('{{insert_article::article-footer-en}}'); ?>
                <?php elseif($GLOBALS['TL_LANGUAGE'] == 'fr'): ?>
                    <?php echo $this->replaceInsertTags('{{insert_article::article-footer-fr}}'); ?>
                <?php else: ?>
                    <?php echo $this->replaceInsertTags('{{insert_article::article-footer}}'); ?>
                <?php endif; ?>
            <?php 
            endif; ?>
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Sehr gut, danke.

              Kommentar


              • #8
                Zitat von Tim Beitrag anzeigen

                Hier als Beispiel für den Footer im Quantum: customelement_layout_footer.html5
                PHP-Code:
                <?php if($GLOBALS['TL_LANGUAGE'] == 'de'): ?>
                <?php 
                echo '{{link_url::suche}}'?>
                <?php 
                elseif($GLOBALS['TL_LANGUAGE'] == 'fr'): ?>
                <?php 
                echo '{{link_url::recherche}}'?>
                <?php 
                elseif($GLOBALS['TL_LANGUAGE'] == 'en'): ?>
                <?php 
                echo '{{link_url::search}}'?>
                <?php 
                endif; ?>
                so hab ich es auch gemacht. 3 Module "suchmaschine", das Modul jeweils im Artikel der jeweilen Sprache platziert und dann im Template customelement_layout_search_on.html5 jeweils den alias ausgeben lassen, den die Seite mit dem Suchmodul verwendet ( suche, search, recherche)
                nur das ich kein "else" sondern nur elseif verwende beunruhigt mich noch.

                Kommentar


                • #9
                  Das else in einer elseif Kopplung ist der Fallback, falls keine der Bedingungen trifft. Nutzt man es nicht, würde z.B bei Spanisch keine Ausgabe erfolgen.
                  In anderen Programmiersprachen ist es sogar Pflicht z.B. in ActionScript
                  http://www.premium-contao-themes.com

                  Kommentar


                  • #10
                    ich nutze nur die drei angegebenen sprachen de, fr, en. Englisch ist meine fallback-sprache. Also sollte ja immer einer der drei sprachvariablen gesetzt werden...oder ich mache English auf "else"

                    Kommentar


                    • #11
                      EN wäre im else, dann greif es für alles ausser de und fr
                      http://www.premium-contao-themes.com

                      Kommentar

                      Lädt...
                      X