Contao-Camp 2024
Ergebnis 1 bis 6 von 6

Thema: tl_page Palette root erweitern und verfügbar machen

  1. #1
    Contao-Nutzer Avatar von ttcdummy
    Registriert seit
    02.03.2014.
    Beiträge
    213
    User beschenken
    Wunschliste

    Standard tl_page Palette root erweitern und verfügbar machen

    Hallo zusammen,

    ich habe die Palette root des dca tl_page um ein Feld erweitert.

    Dieses Feld würde ich nun gerne ausgeben. Erhalte es bei Ausgabe der Variablen aber nicht auf den Unterseiten des Root.

    Muss ich das Feld noch irgendwie global unterhalb des Roots (also vererbt) verfügbar machen.
    Andere Variablen wie rootPageTitle z. B. kommen aus der gleichen Palette wenn ich das richtig sehe.

    Grüße

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Das wird nicht automatisch vererbt. Gewisse Eigenschaften aus dem Root werden in der Funktion PageModel::loadDetails im Page Objekt gesetzt.

  3. #3
    Contao-Nutzer Avatar von ttcdummy
    Registriert seit
    02.03.2014.
    Beiträge
    213
    User beschenken
    Wunschliste

    Standard

    Ah, das erklärt es.

    Gut habe also mehr oder weniger das gemacht, falls es einem "Vorbeilesendem" hilft:

    PHP-Code:
      global $objPage;
      
    $pid $objPage->pid;
      
    $objParentPage = \PageModel::findParentsById($pid); 
    Dort sind dann die gesuchten Variablen drin

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Hm, naja du müsstest alle Parents in einer Schleife durchgehen. So wie du es jetzt hast funktioniert es nur beim ersten Level.

  5. #5
    Contao-Nutzer Avatar von ttcdummy
    Registriert seit
    02.03.2014.
    Beiträge
    213
    User beschenken
    Wunschliste

    Standard

    Das stimmt. Nehme ich also besser direkt die angebotene Variable rootId?

    PHP-Code:
      global $objPage;
      
    $objRootPage = \PageModel::findById($objPage->rootId); 
    Geändert von ttcdummy (07.02.2018 um 11:46 Uhr)

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.899
    Partner-ID
    10107

    Standard

    Einfach nur
    PHP-Code:
    global $objPage;
    $objRoot = \Contao\PageModel::findById($objPage->rootId); 
    // ah, so hast du's jetzt eh

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •