MetaModels Workshop in Berlin
Ergebnis 1 bis 3 von 3

Thema: Eigenes "Leser"-Modul mit URL in "Ordner"-Struktur

  1. #1
    Contao-Fan
    Registriert seit
    21.12.2009.
    Beiträge
    323

    Standard Eigenes "Leser"-Modul mit URL in "Ordner"-Struktur

    Hallo zusammen,

    ich hatte die Frage hier schon in einem älteren Beitrag gestellt - aber da ist die Frage glaube ich untergegangen. Ich habe den Beitrag dort gelöscht und bin so frei und setze den hier nochmal neu ein.

    Ich kämpfe gerade mit der Thematik dass ich in einem Lesermodul etwas komplexere URLs haben will. Ich will es mal kurz umschreiben:

    Zunächst habe ich den URL Postfix auf "" gesetzt. Also ich will kein .html hinten dran stehen haben. Meine angelegte Seite bzw. der Alias auf der das "Leser"-Modul meiner Erweiterung drin ist, lautet

    HTML-Code:
    unternehmen/standorte/
    Dort wird zunächst eine Liste aller Kontinente angezeigt. Mit Klick auf einen Kontinent, soll die URL dann wie folgt lauten:

    HTML-Code:
    unternehmen/standorte/europa
    Wenn ich dann in der darauf folgenden Liste auf eines der Länder klicke, dann sollte die URL wie folgt aussehen:

    HTML-Code:
    unternehmen/standorte/europa/deutschland
    Nach der eigentlichen Contao-Bauweise müsste der o.g. Link doch eigentlich so aussehen oder:

    HTML-Code:
    unternehmen/standorte/kontinent/europa/land/deutschland
    Ich arbeite auch mit dem Hook hookGetPageIdFromUrl. Dort nehme ich die Registrierung der beiden Auto-Items vor - zunächst hier einfach mal statisch für ein Beispiel:

    PHP-Code:
    \Input::setGet('kontinent''europa');
    \
    Input::setGet('land''deutschland'); 
    Wenn ich dann im Hook einfach

    PHP-Code:
    return $arrFragments
    zurückgebe, dann müsste doch eigentlich die Seite mit

    HTML-Code:
    de/unternehmen/standorte/kontinent/europa/land/deutschland
    aufrufbar sein oder ?

    Hier bekomme ich aber leider einen 404.

    Was mache ich falsch? Auto Items ist aktiv, und die Ordner URLs auch.

    Und natürlich würde mich interessieren, was ich denn im Hook als Fragment zurückgeben muss, wenn ich die "geschmälerte" Version der URL nämlich

    HTML-Code:
    unternehmen/standorte/europa/deutschland
    hinbekommen wollen würde.

    Ich hoffe mal das ihr mir vielleicht helfen könnt. 1000 Dank schon mal
    Geändert von creativx (28.05.2019 um 16:24 Uhr)
    Viele Grüße aus dem Süden
    creativx
    ---- Planung ist Ersatz des Zufalls durch den Irrtum ----

  2. #2
    Contao-Fan
    Registriert seit
    21.12.2009.
    Beiträge
    323

    Standard Gelöst

    So, nun will ich doch euch noch meine Lösung verraten:

    Was ich nicht verstanden habe ist, dass Contao quasi einfach die als Request ankommende URL auflöst und dort die einzelnen GET Werte daraufhin prüft, ob diese "zulässig" sind. Mein Ziel war es ja, folgende URL zu generieren

    Code:
    domain.de/de/unternehmen/standorte/europa/deutschland
    Dabei kommt "unternehmen/standorte" als Alias von der für das Lese-Modul angelegten Seite. Die nächste "Stufe" wäre dann der Kontinent. Also erstelle ich mir einen Array mit allen zulässigen Kontinenten, schau ob der in der URL gefragte Kontinent enthalten ist - und wenn ja dann mache ich folgendes :

    Code:
    Input::setGet('standorte', Input::get('auto_item'));
    Damit sage ich quasi: Okay Kontinent Europa, du bist ein valider Kontinent und daraus darf eben die Url

    Code:
    domain.de/de/unternehmen/standorte/europa
    entstehen. Das gleiche mache ich dann mit dem Länderstandort auch noch. Das war es eigentlich
    Viele Grüße aus dem Süden
    creativx
    ---- Planung ist Ersatz des Zufalls durch den Irrtum ----

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Vienna, Austria
    Beiträge
    20.553
    User beschenken
    Wunschliste

    Standard

    Ich würde das in einem getPageIdFromUrl Hook machen. Dort kannst du dann die einzelnen URL Fragments selbst behandeln.

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
  •