Fehlerhaftes Verhalten von Inserttag page_title

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • jan.theofel
    Contao-Urgestein
    • 23.06.2009
    • 1857

    #1

    Fehlerhaftes Verhalten von Inserttag page_title

    Hallo zusammen,

    ich habe hier ein Problem mit dem Inserttag {{env:age_title}}. Folgende Situation:

    Wir setzten einen Katalog ein, der den Seitentitel nicht selbst manipuliert. Statt dessen setzen wir im Template den Seitentitel mittels folgendem PHP-Snippet, weil der Seitentitel in Abhängigkeit der Sprache aus verschiedenen Katalog-Feldern ausgelesen wird.

    PHP-Code:
    $objPage->title = $lady['data']['title_'.$lang]['raw']; 
    
    Platzieren wir nun das Inserttag {{env:age_title}} innerhalb der Seite, wird dieser korrekt durch den oben gesetzten Seitentitel ersetzt.

    Nun wird zusätzlich unsere etracker-Erweiterung eingesetzt. Die setzt im Code der selben Seite das Ergebnis von folgendem PHP-Code ein:
    PHP-Code:
    rawurlencode($this->replaceInsertTags($root_details->et_pagename)) 
    
    Das Problem dabei ist, dass in $root_details->et_pagename ebenfalls mit enthalten ist. Nur dort wird der Inserttag nicht gegen den Name der Seite sondern (wie oben korrekt beschrieben) sondern gegen den Name der Seite des Readers aus der Seitenstruktur eingesetzt.

    Scheinbar verhält sich das Inserttag "normal" hier anders als wenn es über replaceInsertTags aufgerufen wird. Das lässt sich wohl so erklären, dass letzteres vor dem Ausführen des Templates läuft und damit den "neuen" Seitentitel noch nicht kennt.

    Da ich aber noch ein rawurlencode um das Inserttag drum herum brauche kann das etracker-Modul nicht einfach das Inserttag in den Code einsetzen und COntao dieses später ersetzen lassen.

    Hat jemand Lösungsvorschläge für dieses Problem?

    Danke!
    Jan
    Jan Theofel
    Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps
  • andreas.schempp
    Contao Core-Team
    Association Vorstand
    • 15.06.2009
    • 5701

    #2
    Der neue Seitentitel wird vom Reader-Modul gesetzt. Bevor das Modul kommt ist der Titel anders als danach.

    PS: Du solltest besser $objPage->pageTitle verwenden, wenn du schon in PHP bist.
    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

    • jan.theofel
      Contao-Urgestein
      • 23.06.2009
      • 1857

      #3
      Hi Andreas,

      Zitat von andreas.schempp Beitrag anzeigen
      Der neue Seitentitel wird vom Reader-Modul gesetzt. Bevor das Modul kommt ist der Titel anders als danach.
      Das Problem ist klar. Die Frage ist die: Kann ich das irgendwie umgehen? Mir kommt gerade noch die Idee, dass ich doch einen eigenen Inserttag definieren können müsste. Der macht dann das gleich wie page_title packt aber ein urlencode drum rum. Dann sollte ich doch an dieser Stelle den richtigen Seitentitel (weil das beim Ausliefern der Seite geschieht) und das passende Encoding haben, oder?

      Zitat von andreas.schempp Beitrag anzeigen
      PS: Du solltest besser $objPage->pageTitle verwenden, wenn du schon in PHP bist.
      Worin liegt der Unterschied?

      Jan
      Jan Theofel
      Barcamp-Moderator für Corporate-Barcamps und öffentliche Barcamps

      Kommentar

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

        #4
        Ja ich denke ein eigener InsertTag wäre das beste.

        Zitat von ETES Beitrag anzeigen
        Worin liegt der Unterschied?
        Der InsertTag/String muss nicht erst geparst werden? Spart Ressourcen...
        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

        Lädt...