Ankündigung

Einklappen
Keine Ankündigung bisher.

Seiten ID über CE Hyperlink ausgeben

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

  • Seiten ID über CE Hyperlink ausgeben

    Wir benötigen im Attribut Template des Hyperlink CEs die über den PagePicker gewählte SeitenID. Wie kommen wir an diese ran?
    Im Value wird nur der komplette Pfad ausgegeben. und findByPath funktioniert ja nur bei Files.

  • #2
    Hi,
    im Attribut Template kommst du mit $this->rawValue an den rohen Wert. Das wäre das Inserttag mit der ID drin, denke ich. Das Inserttag kannst du zerlegen.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Danke, das hatte ich bereits versucht. Aber im $this->rawValue wird bereits der Pfad ausgeben.

      Kommentar


      • #4
        PageModel findByAlias sollte gehen oder das {{customelement::...}} Inserttag. Das gibt ebenfalls den rohen Wert aus.
        Zuletzt geändert von Tim; 29.04.2024, 07:49.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Also hiermit kommt "NULL"

          $objFile = PageModel::findByAlias($this->rawValue);
          var_dump($objFile);

          Ebenso, wenn ich das .html entfernen, das wohl mit ausgegeben wird:

          Code:
          $objFile = preg_replace("/\.html$/", "", $this->rawValue);
          $Alias = PageModel::findByAlias($objFile);
          var_dump($Alias);
          Wie müsste das Inserttag aussehen? Ich bin direkt im Attribut Template.

          Zuletzt geändert von eblick; 29.04.2024, 08:51.

          Kommentar


          • #6
            Könntest du nicht die ID im Template generell mit ausgeben?

            Kommentar


            • #7
              Zitat von eblick Beitrag anzeigen
              Könntest du nicht die ID im Template generell mit ausgeben?
              Ich passe an, dass rawValue nicht über die replaceInsertTags gejagt wird.

              Im Attribute Template kannst du auch so an den rohen Wert kommen:
              Code:
              $rawValue = $this->attribute->getValue();
              // strip id from inserttag
              $pageId = str_replace(array('{{link_url::','}}'),'',$rawValue);
              
              echo $pageId;
              http://www.premium-contao-themes.com

              Kommentar


              • #8
                Durch den Rücken in die Brust

                Danke. Spricht etwas dagegen, zusätzlich die ID auszugeben?

                Kommentar


                • #9
                  Zitat von eblick Beitrag anzeigen
                  Durch den Rücken in die Brust

                  Danke. Spricht etwas dagegen, zusätzlich die ID auszugeben?
                  Das Feld speichert keine ID, sondern einen Fließtext. Dass es sich um eine Seiten-ID handelt ist nicht zangsläufig gegeben. Es kann auch ein {{email...}} Inserttag sein oder auch eine ausgeschriebene Url. Die Rückgabe des rohen Wertes ist die beste Lösung, damit kann im Template frei manipuliert werden.
                  http://www.premium-contao-themes.com

                  Kommentar

                  Lädt...
                  X