Ankündigung

Einklappen
Keine Ankündigung bisher.

[changelanguage] und CustomCatalog im Leser. Wechsel der Sprache auf Detailseiten

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

  • [changelanguage] und CustomCatalog im Leser. Wechsel der Sprache auf Detailseiten

    Hi,
    CC erlaubt gleiche Alias für mehrsprachige Einträge. Wer ohnehin gleiche Alias nutzt, kann diesen Thread getrost wieder schließen, da changelanguage dies auf Anhieb versteht.
    ---
    Nutzt man allerdings keine Alias (Einträge werden per ID angesprochen) oder getrennte Alias je Sprache, wird changelanguage das Sprach-Geschwisterchen nicht mehr ansprechen können.
    Hier helfen wir changelanguage etwas auf die Sprünge.
    Anbei ein Template für das Sprachenwechsler-Modul von changelanguage, das auf Leser-Seiten die Links neugeneriert mit einem Verweis auf den Spracheintrag.

    Im Template müssen zwei Variablen ganz oben eingestellt werden, damit die Funktionen wissen für welchen CC gearbeitet wird.

    PHP-Code:
    $tablename 'cc_mytablename'// enter your table name | Tabellennamen angeben
    $baseLanguage 'de'// base language | Falls Basis-Einträge auch als eigenständige Sprache dienen, hier die Basis-Sprache angeben 

    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: screenshot_2490.jpg
Ansichten: 1
Größe: 98,5 KB
ID: 1095

    Zuletzt geändert von Tim; 10.04.2018, 12:12.
    http://www.premium-contao-themes.com

  • #2
    Hi Tim!

    Funktioniert dies nur, wenn Liste und Leser sich auf getrennten Seiten befinden?
    In meiner Installation habe ich Liste und Leser auf einer Seite integriert und das Template greift leider bei mir nicht.

    Viele Grüße

    Kommentar


    • #3
      Ich hab mal ein neueres Template hochgeladen. Damit habe ich es gerade erfolgreich getestet.
      http://www.premium-contao-themes.com

      Kommentar


      • #4
        Lieber Tim!

        Vielen Dank - funktioniert super! Euer Support ist wirklich spitze :*

        Kommentar


        • #5
          Zitat von Tim Beitrag anzeigen
          Hi,
          CC erlaubt gleiche Alias für mehrsprachige Einträge. Wer ohnehin gleiche Alias nutzt, kann diesen Thread getrost wieder schließen, da changelanguage dies auf Anhieb versteht.
          ---
          Nutzt man allerdings keine Alias (Einträge werden per ID angesprochen) oder getrennte Alias je Sprache, wird changelanguage das Sprach-Geschwisterchen nicht mehr ansprechen können.
          Hier helfen wir changelanguage etwas auf die Sprünge.
          Anbei ein Template für das Sprachenwechsler-Modul von changelanguage, das auf Leser-Seiten die Links neugeneriert mit einem Verweis auf den Spracheintrag.

          Im Template müssen zwei Variablen ganz oben eingestellt werden, damit die Funktionen wissen für welchen CC gearbeitet wird.

          PHP-Code:
          $tablename 'cc_mytablename'// enter your table name | Tabellennamen angeben
          $baseLanguage 'de'// base language | Falls Basis-Einträge auch als eigenständige Sprache dienen, hier die Basis-Sprache angeben 

          Anhang
          Ich habe dieses Template im Einsatz. Meine Basissprache ist deutsch und Englisch habe ich manuell im CC hinzugefügt. Der Sprachwechsler funktioniert einwandfrei von der Englischen Seite – also der DE Link führt dann auf die Deutsche Seite. Wenn ich von der Deutschen Seite jedoch zur englischen wechseln möchte, dann behält der CC den deutschen Alias. Also landet man auf der Englischen Seite mit dem deutschen Inhalt. Wenn der Alias immer gleich wäre, wäre das kein Problem. Leider unterscheidet dieser sich öfters.

          Hat sich hier seit Contao 4.9 vielleicht etwas geändert?
          Zuletzt geändert von filipt; 04.05.2021, 07:55.

          Kommentar


          • #6
            Ich glaube es bezieht sich auf einen Bug in der aktuellen CC Version (wird im kommenden Release gefixt).

            Du kannst mal folgendes im Template probieren:

            Code:
             // find language record
            #$objLangEntry = $objCC->findPublishedItemByIdOrAlias($arrLangSiblings[ $language ]);
            $objLangEntry = \Contao\Database::getInstance()->prepare("SELECT * FROM ".$objCC->getTable()." WHERE id=?")->limit(1)->execute( $arrLangSiblings[ $language ] );
            Zuletzt geändert von Tim; 04.05.2021, 09:29.
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Danke Tim. Damit scheint es jetzt zu funktionieren.

              Kommentar

              Lädt...
              X