Contao-Camp 2024
Ergebnis 1 bis 5 von 5

Thema: [GELÖST] Routing / Auto_Item mit zwei Parametern im Ordner-Style

  1. #1
    Contao-Nutzer Avatar von rory_ch
    Registriert seit
    11.05.2016.
    Ort
    Schweiz
    Beiträge
    119

    Frage [GELÖST] Routing / Auto_Item mit zwei Parametern im Ordner-Style

    Wir bauen zurzeit ein Bundle, mit dem wir Umfragen mit spezifischen Empfängern abhandeln wollen.
    Im groben basiert es auf den Contao Formularen, einer Tabelle mit den Empfängern und einer Tabelle mit den Umfragen.

    Nun gibt es bei dem Empfänger und der Umfrage einen Alias, z.B. max-muster und firmenfest.
    Auf einer "Umfrage" Seite (/umfrage.html) gibt es nun ein eigenes Inhaltselement (oder evtl. auch per Frontend-Modul - noch nicht sicher) jenes die beiden Parameter auslesen sollte.
    Aus den beiden Parametern kann ich dann das hinterlegte Formular & den Empfänger auslesen und z.B. gleich mit "Guten Tag Herr Max Muster..." begrüssen und anschliessend das Formular ausgeben.

    Folgende URL klappt mit dem Auto_Item:
    /umfrage/max-muster.html

    So ist aber nicht klar, bei welcher Umfrage man mitmacht und der gleiche User könnte nicht bei zwei Umfragen mitmachen (bzw. nur mit einem Alias wie firmenfest-max-muster).
    Es wäre jetzt einfach mal spannend zu wissen, wie kann man so zu sagen zwei GET-Parameter via Auto_Item auslesen kann?

    Sprich die URL sollte so aussehen:
    /umfrage/firmenfest/max-muster.html

    Habe nun versucht mit dem Auto_item oder $_GET Parameter zu arbeiten.
    Mit dem GET Parameter ist scheinbar jetzt "firmenfest" der GET-Parameter Key und "max-muster" ist der Value davon.
    Aber scheinbar wird in diesem Fall für Contao die 404-Route aktiv und nicht die "Umfrage"-Seite mit meinem Inhaltselement.

    Ich kenne das Contao Routing nur oberflächlich und habe es bisher nur für Ajax eingesetzt.
    Aber da bekommt man ja "nur" den Template-Inhalt z.B: einen JSON String zurück.

    Wie kann ich das Routing so anpassen, dass ich in diesem Fall sprich /umfrage/*/* immer noch meine Seite und damit mein Inhaltselement aufruft?

    Hoffe ich habe mich verständlich ausgedrückt, ansonsten versuche ich es erneut

    Danke im Voraus für eure Inputs
    Geändert von rory_ch (17.07.2019 um 12:49 Uhr)

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

    Standard

    Du könntest den getPageIdFromUrl hook verwenden. Vielleicht auch in Verbindung mit einem eigenen Page Type.

  3. #3
    Contao-Nutzer Avatar von rory_ch
    Registriert seit
    11.05.2016.
    Ort
    Schweiz
    Beiträge
    119

    Frage

    Hallo Spooky, danke für die ultra schnelle Antwort!

    Ich habe deinen Input bereits in einem anderen Forums-Beitrag gesehen.
    Aber aus dem Beispiel werde ich nicht so recht schlau.

    Hast du evtl. ein anderes Beispiel als wie das in der Doku?
    https://docs.contao.org/books/api/ex...l.html#example

    Bzw. was genau soll an den $arrFragments verändert werden?
    Oder wie sage ich, dass nun bei einem bestimmten Fall meine Seite verwendet werden sollte?

    Danke im Voraus

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

    Standard

    Viele Wege führen zum Ziel. Du könntest im getPageIdFromUrl hook:

    1. überprüfen, ob die aufgerufene Seite (erstes Fragment) dein Modul ausgibt,
    2. dementsprechend die anderen Fragments überprüfen und dann einfach ein Input::setGet(…) machen (einfachste Variante),
    3. danach nur mehr das erste Fragment zurückgeben.

  5. #5
    Contao-Nutzer Avatar von rory_ch
    Registriert seit
    11.05.2016.
    Ort
    Schweiz
    Beiträge
    119

    Daumen hoch

    Perfekt, genau das habe ich gesucht.
    Danke für deine Hilfe

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
  •