Ergebnis 1 bis 10 von 10

Thema: Artikel-ID oder Artikel-Alias im Layout von Inhaltselement auslesen / übergeben

  1. #1
    Contao-Nutzer Avatar von smeyli
    Registriert seit
    17.02.2010.
    Ort
    Saalfeld/Saale
    Beiträge
    189
    Partner-ID
    12151
    Contao-Projekt unterstützen

    Support Contao

    Standard Artikel-ID oder Artikel-Alias im Layout von Inhaltselement auslesen / übergeben

    Ist es möglich, die Artikel-ID oder den Artikel-Alias des umgebenden Artikels im Template eines Inhaltselementes auszulesen?

    Ich war fest davon überzeugt, dass es dafür einen Inserttag gibt (so wie {{page::id}}), doch leider ist dem nicht so (oder ich bin blind).
    In den Templatevariablen des Inhaltselementes sind Artikel-ID / Alias jedenfalls nicht gespeichert....

    Hintergrund ist der: verschiedene Inhaltselemente werden in beliebig vielen Artikeln genutzt und sollen, je nach umgebenden Artikel, die ID bzw. den Alias von diesem ausgeben.

    Vielleicht denke ich auch gerade zu kompliziert.

  2. #2
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.459
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    PHP-Code:
    $this->pid 
    probiert ?

  3. #3
    Contao-Nutzer Avatar von smeyli
    Registriert seit
    17.02.2010.
    Ort
    Saalfeld/Saale
    Beiträge
    189
    Partner-ID
    12151
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von cliffparnitzky Beitrag anzeigen
    PHP-Code:
    $this->pid 
    probiert ?
    ja. Damit wird "nur" die Artikel-ID ausgegeben, in dem die Inhaltselemente tatsächlich angelegt sind.

    Mir geht es darum, die Artikel-ID des umgebenden Artikels auszugeben, in der die Inhaltselemente dann individuell included sind - da habe ich mich sehr wahrscheinlich ungenau ausgedrückt.

  4. #4
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    7.080
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Was genau hast Du vor bzw. wozu brauchst Du das?

    Wenn es darum geht im Backend zu sehen wo Artikel eingebunden sind wäre vielleicht die Erweiterung https://extensions.contao.org/?q=ins...o-include-info einen Blick wert.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  5. #5
    Contao-Nutzer Avatar von smeyli
    Registriert seit
    17.02.2010.
    Ort
    Saalfeld/Saale
    Beiträge
    189
    Partner-ID
    12151
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von mlweb Beitrag anzeigen
    Was genau hast Du vor bzw. wozu brauchst Du das?

    Wenn es darum geht im Backend zu sehen wo Artikel eingebunden sind wäre vielleicht die Erweiterung https://extensions.contao.org/?q=ins...o-include-info einen Blick wert.

    Ok, dann erkläre ich das mal:
    • Es gibt 5 oder auch ein paar mehr Inhaltselemente gleichen Types mit unterschiedlichem Inhalt, die auf einer zentralen Seite gepflegt werden.
    • auf beliebigen anderen Seiten werden diese Inhaltselemente in verschiedenen Artikeln included (in dem Falle handelt es sich um Artikel mit Feriennamen).
    • Aus den Inhaltselementen heraus kann ich eine Anfrage starten und möchte aber den Artikelalias (=Ferienname) als Paramter mit ans Formular übergeben.


    Ich weiß, dass ich das auch mit MetaModels oder dem CatalogManager umsetzen könnte, doch dafür sind es einfach zu wenige Elemente (Daten) als dass sich der Aufwand lohnt.
    Geändert von smeyli (11.05.2023 um 15:24 Uhr)

  6. #6
    Contao-Nutzer
    Registriert seit
    10.09.2009.
    Beiträge
    70

    Standard

    Ich brauchte gerade auch genau das.

    Im Template das zugehörige Artikel-Objekt holen:

    PHP-Code:
    <?php

    $objArticle 
    = \ArticleModel::findById($this->pid);

    ?>
    Und die gewünschten Eingenschaften ausgeben:

    PHP-Code:
    <?= $objArticle->alias ?>
    Vielleicht geht's auch schöner, aber es funktioniert.

  7. #7
    Contao-Nutzer Avatar von smeyli
    Registriert seit
    17.02.2010.
    Ort
    Saalfeld/Saale
    Beiträge
    189
    Partner-ID
    12151
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Dean Beitrag anzeigen
    Ich brauchte gerade auch genau das.

    Im Template das zugehörige Artikel-Objekt holen:

    PHP-Code:
    <?php

    $objArticle 
    = \ArticleModel::findById($this->pid);

    ?>
    Und die gewünschten Eingenschaften ausgeben:

    PHP-Code:
    <?= $objArticle->alias ?>
    Vielleicht geht's auch schöner, aber es funktioniert.

    Vielen Dank. Ich habe es gleich getestet. Leider gibt es mir "nur" den Alias des Artikels aus, in dem auch die Inhaltselemente angelegt sind.
    Ich möchte den Alias des jeweiligen Artikels ausgeben, in den das Inhaltselement included ist. Ich forsche einfach mal weiter...

    Hier nochmal ein kleines Schema zur Verdeutlichung:
    Code:
    Artikel (Alias: source)
    - CE1
    - CE2
    - CE3
    - CE4
    
    Artikel (Alias: thema1)
    - include CE2 --> Ausgabe Alias: "thema1"
    - include CE3 --> Ausgabe Alias: "thema1"
    
    Artikel (Alias: thema2)
    - include CE1 --> Ausgabe Alias: "thema2"
    - include CE2 --> Ausgabe Alias: "thema2"
    
    ... usw.

  8. #8
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    7.080
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nur mal so als Nicht-Entwickler - in der von mir oben verlinkten Erweiterung müsste das eigentlich als Code zu finden sein, denn die gibt genauso etwas im Backend aus, wenn ich Dein Problem richtig verstanden habe.

    Screenshot 2023-05-12 100751.png
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  9. #9
    Contao-Nutzer Avatar von smeyli
    Registriert seit
    17.02.2010.
    Ort
    Saalfeld/Saale
    Beiträge
    189
    Partner-ID
    12151
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von mlweb Beitrag anzeigen
    Nur mal so als Nicht-Entwickler - in der von mir oben verlinkten Erweiterung müsste das eigentlich als Code zu finden sein, denn die gibt genauso etwas im Backend aus, wenn ich Dein Problem richtig verstanden habe.
    Danke Maren, ich probiere das mal aus und berichte.

  10. #10
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.925
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von mlweb Beitrag anzeigen
    Nur mal so als Nicht-Entwickler - in der von mir oben verlinkten Erweiterung müsste das eigentlich als Code zu finden sein, denn die gibt genauso etwas im Backend aus, wenn ich Dein Problem richtig verstanden habe.
    habe da meine Zweifel... die Erweiterung Include-Info gibt an, wo der Ursprung ist und wo die "Geschwister" sitzen - hier ist ja nach dem Parent-Artikel gefragt aus der Sicht des Include-Child

    In der DB ist da nichts zu holen, da die pid auf den Ursprungsartikel zeigt

    Der Aufbau in dem Artikel mit Include ist ja in etwa so

    Artikel (id 42)
    -- CE Include (pid 42)
    ---- Include-Irgendwas mit "Pointer" auf Ursprung (kann Artikel, Inhaltselement sein)

    das "Include-Irgendwas" kann nicht "sehen" wo es eingebunden ist also in welchem CE Include und somit keine Info zu Artikel

    auch wenn Du alle CE Include in DB abfragst und nach den includierten IDs suchst, bekommst Du die Info da nicht wieder rein


    ... würde ich "aus dem Bauch" sagen

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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