Ankündigung

Einklappen
Keine Ankündigung bisher.

Seitenwähler Customelements

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

  • Seitenwähler Customelements

    Ich würde gerne ein CC-Modul / Inhaltselement erstellen, das den Seitenwähler berücksichtigt.

    Das Modul soll im Seitenlayout eingebunden werden und nur auf den gewählten Seiten ausgegeben werden.

    Wie wird der Seitenwähler im Template integriert? Gibt es da ein CC-Inhaltselement, das ich als Vorlage nehmen kann?

  • #2
    Also in CC ganz einfach mit Seitenauswahl-Filter: http://forum.premium-contao-themes.c...=6436#post6436

    Oder meinst du CE oben?
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Ups, ja ich meinte CE!

      Kommentar


      • #4
        Zitat von eblick Beitrag anzeigen
        Ups, ja ich meinte CE!
        Kannst du eigentlich im Template ganz gut abfangen, direkt oben vor der Ausgabe. Damit wird quasi die Ausgabe umgangen. Das Element wird von Contao trotzdem abgearbeitet. Möchte man das unterbinden ginge es nur in Contaos getContentElement Hook zum Beispiel. (falls man eine DB Abfrage weniger haben will )

        PHP-Code:
        <?php
        global $objPage;

        $arrSeitenauswahl deserialize($this->field('meineSeitenauswahl')->value());

        // template verlassen, wenn aktuelle Seiten ID nicht in Auswahl
        if(!in_array($objPage->id$arrSeitenauswahl))
        {
        return 
        '';
        }

        ?>
        Zuletzt geändert von Tim; 24.03.2017, 07:31.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Hm, bei Verwendung der global $objPage erhalte ich eine leere Seite???

          oben fehlte eine ')'
          außerdem liefert deserialize einen string.

          So funktioniert es nun:

          PHP-Code:
          <?php 
                  $objPage 
          $this->replaceInsertTags'{{page::id}}' );
                  
          $arrSeitenauswahl explode(','$this->field('seitenwaehler')->value());
                  if(
          in_array($objPage$arrSeitenauswahl)){
                  echo 
          $this->field('widget')->html(); 
                  }
              
          ?>
          Zuletzt geändert von eblick; 23.03.2017, 13:35.

          Kommentar


          • #6
            Immer schön Fehlermeldungen anmachen.
            Fehlte ne Klammer bei in_array

            Ah ok, dein Seitenwähler ist nicht mehrfach. Ja dann ist explode nicht verkehrt an der Stelle.
            http://www.premium-contao-themes.com

            Kommentar

            Lädt...
            X