Contao-Camp 2024
Ergebnis 1 bis 4 von 4

Thema: URL-Parameter auslesen

  1. #1
    Contao-Nutzer
    Registriert seit
    17.07.2010.
    Beiträge
    127

    Standard URL-Parameter auslesen

    Hallo zusammen,

    ich habe eine URL im Stil von
    Code:
    http://example.com/projects[[/$category][/$project]]
    und versuche, die gewünschte Kategorie ($category) und ggf. das Projekt ($project) dazu auszulesen.
    Dabei existiert einzig die Seite projects in der Seitenstruktur, mit jeweils einem Modul zum Auslesen von $category und $project.

    Welche saubere Lösung gibt es, $category und ggf. $project den Modulen zur Verfügung zu stellen?

    Mit folgendem Code funktioniert es, aber vielleicht kennt jemand eine elegantere Lösung:

    PHP-Code:
    $category '';
    $project '';

    if (isset(
    $_GET['auto_item'])) {
        
    // One param: category
        
    $category = \Input::get('auto_item');
    }

    if (!isset(
    $_GET['auto_item'])) {
        
    // Two params: category/project
        
    reset($_GET);
        
    $category key($_GET);
        
    $project = \Input::get($category);
    }

    // Make category and project available in subsequent modules.
    \Input::setGet('category'$category);
    \
    Input::setGet('project'$project); 
    Viele Grüße,
    sans

  2. #2
    Contao-Nutzer
    Registriert seit
    19.05.2010.
    Beiträge
    170

    Standard Contao 4.9.*

    Ich bin gerade auf diesen Thread gestoßen und würde gerne wissen, wie das in der Version ab 4.9.* realisierbar ist?
    Oder wo/wie genau muss ich den Code-Schnipsel einfügen?

  3. #3
    Contao-Nutzer
    Registriert seit
    19.05.2010.
    Beiträge
    170

    Standard

    Etwas im Forum gestöbert und einen kleinen Schritt weiter.

    Die URL sieht so aus: example.com/de/start/test/
    auf der Startseite (start) befindet sich mein Modul.

    In der compile von diesem Module kann ich so auf den ersten Parameter (test) zugreifen:
    PHP-Code:
    protected function compile()
    {
        
    $param = \Input::get('auto_item');

    jetzt würde ich noch gerne wissen, wie man beliebig viele Parameter "abfangen" kann.

    example.com/de/start/test/neu/parameter
    gibt einen 404er

  4. #4
    Contao-Nutzer
    Registriert seit
    19.05.2010.
    Beiträge
    170

    Standard

    Mit dem Hook
    getPageIdFromUrl
    scheint es zu funktionieren.

    Damit kann man auf die Parameter zugreifen.

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
  •