Ergebnis 1 bis 13 von 13

Thema: GET Variablen bei Contao3

  1. #1
    Contao-Nutzer
    Registriert seit
    08.05.2014.
    Beiträge
    5

    Standard GET Variablen bei Contao3

    Hallo,

    ich programmiere ein Modul, das GET Variablen verwendet und ähnlich arbeitet wie Nachrichtenleser Modul von Contao.
    Dafür erzeuge ich ein Link, der folgende Aufbau hat.
    Seitenname / Variablenname / Wert .html
    Ein Beispiel: reader/items/kiemenwerkzeug.html

    Leider bekomme ich eine Fehlermeldung "Seite nicht gefunden", wenn ich so einen Link aufrufe.

    Ich habe schon einige ähnliche Module für Contao 2 programmiert. Da gab es nie Probleme mit GET Variablen.
    Was hat sich bei Contao 3 geändert?

  2. #2
    Contao-Nutzer
    Registriert seit
    13.07.2009.
    Beiträge
    37

    Standard

    Hallo allerseits,

    Wir haben das Problem in der gleichen Form, gibt es da wirklich keinen der etwas dazu sagen kann?

    lg und vielen Dank

    Tim

  3. #3
    Contao-Nutzer Avatar von easy
    Registriert seit
    17.03.2011.
    Ort
    Remagen
    Beiträge
    58

    Standard

    Hallo,

    also ich kann nichts dazu sagen, denn bei mir funktioniert der GET einwandfrei.
    Vielleicht solltet ihr mal konkret beschreiben was ihr genau machen wollt. So lässt sich, zumindest von meiner Seite aus, nichts dazu sagen.
    Das Problem könnte ja auch anderer Stelle liegen!?

    Schöne Grüße, Gerd

  4. #4
    Contao-Fan Avatar von bekanntmacher
    Registriert seit
    13.08.2009.
    Ort
    St. Gallen, Schweiz
    Beiträge
    354
    Partner-ID
    6419

    Standard

    hast du auf der Zielseite ein Modul eingebunden?

  5. #5
    Contao-Nutzer
    Registriert seit
    15.06.2011.
    Beiträge
    11

    Standard gleiches Problem?

    Ich glaube er hat das gleiche Problem wie ich...

    https://community.contao.org/de/show...URL-Management


    LG

  6. #6
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Wie lest ihr die Get Daten aus? Bei $_GET oder \Input::getInstance()->get()? In einer der 3.x er Versionen wurde das AutoItem Handling umgestellt, was es zwingend erforderlich macht den zweiten Weg zu nehmen. Evtl. liegt es daran?

    Direkter Zugriff auf $_GET ist im Contao-Context als Back Practise eingestuft.

  7. #7
    Contao-Nutzer
    Registriert seit
    15.06.2011.
    Beiträge
    11

    Standard

    Ich weiß nicht wie es beim Threadersteller ist.
    Ich kann die GET Parameter ja auslesen. Leider aber auf der 404 Seite.

    Und ich nutze die Contao Klasse!

    LG

  8. #8
    Contao-Nutzer
    Registriert seit
    08.05.2014.
    Beiträge
    5

    Standard

    Hallo,

    ich nutze diesen weg.
    $this->Template->items = \Input::get('items');

    "auto_item" habe ich auch schon getestet und es hat auch nicht funktioniert.

    Ich habe ein wenig experimentiert. Wenn ich aus der compile() Funktion von dem NewReder Modul den gesamten Quelltext entferne und nur
    diese Zeile einfüge "$this->Template->items = \Input::get('items');" wird die Seite immer noch normal angezeigt. So bald diese Zeile entfernt wird,
    bekomme ich eine 404 Meldung von Contao.
    Bei meinem eigenen Modul bekomme ich immer ein 404 Meldung.

    Ich vermute, dass man Contao 3 in einer Konfigurationsdatei mitteilen soll ob ein Modul auf GET Variablen zugreifen wird oder nicht.
    Sonst versucht Contao gar nicht ein URL mit GET Variablen aufzulösen.

    Weiß Jemand welche Konfigurationsdatei es sein kann?

  9. #9
    Contao-Nutzer
    Registriert seit
    15.06.2011.
    Beiträge
    11

    Standard

    Probier mal im Modul vorher den GET zu setzen.

    $this->Input->setGet('items', $this->Input->get('items'));

    LG

  10. #10
    Contao-Nutzer
    Registriert seit
    08.05.2014.
    Beiträge
    5

    Standard

    Keine Wirkung.

  11. #11
    Contao-Nutzer
    Registriert seit
    08.05.2014.
    Beiträge
    5

    Standard

    Bei mir funktioniert es jetzt.

    Entweder in den Einstellungen Auto_item aktivieren und folgende Code in compile() Funktion einfügen.
    if (!isset($_GET['items']) && $GLOBALS['TL_CONFIG']['useAutoItem'] && isset($_GET['auto_item']))
    {
    \Input::setGet('items', \Input::get('auto_item'));
    }

    $this->items = \Input::get('items');

    URL: Seitenname / Wert .html

    Oder Auto_item deaktivieren und auf GET Variablem mit $this->items = \Input::get('items'); zugreifen.
    URL: Seitenname / Variablenname / Wert .html

  12. #12
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Das Problem ist wahrscheinlich, dass ihr nicht auf die Input-Klasse zugreift.
    Der Ursprung in dieser Lösung ist die Tatsache, dass Contao über kein Routen-Verzeichnis verfügt. Es weiss also nicht, ob eine Anfrage überhaupt gültig ist oder nicht.
    Insofern konnte man früher solche URLs generieren und sie wurden korrekt von Contao ausgeliefert:
    Code:
    http://domain.de/seite/items/alias/quatsch/mit/sauce/und/noch/viel/mehr/muell.html
    Da das aber schlecht für SEO ist, musste eine Lösung gefunden werden die dieses Problem mehr oder weniger behebt.
    Jetzt prüft Contao ob irgendeine Stelle im Code auf die Parameter reagiert. D.h. in diesem Beispiel auf "items", "quatsch", "sauce", "noch" und "mehr". Das kann es aber nur prüfen, wenn man auch über die entsprechenden Contao-Bibliotheken geht und nicht direkt
    PHP-Code:
    $_GET 
    nutzt.

    Sprich: Niemand hat auf den Parameter "xy" gehört --> ich sende einen 404 Not Found.
    Geändert von Toflar (12.05.2014 um 17:58 Uhr)
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  13. #13
    Contao-Nutzer
    Registriert seit
    08.05.2014.
    Beiträge
    5

    Standard

    In zwei Fällen wird ein 404 ausgelöst.

    1) Wenn auf GET Variable nicht zugegriffen wird.
    2) Wenn Auto_Items eingeschaltet ist und in dem URL eine Variablenname vorhanden ist.

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
  •