Contao-Camp 2024
Ergebnis 1 bis 5 von 5

Thema: Controller::addToUrl funktioniert nicht mit anschließendem reload

  1. #1
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.792

    Frage Controller::addToUrl funktioniert nicht mit anschließendem reload

    Diese Anweisungen sollten zur URL einen Parameter hinzufügen und die aktuelle Seite damit neu laden:
    PHP-Code:
    \Controller::addToUrl('send=1');
    \
    Controller::reload(); 
    Es funktioniert aber nicht. Der Parameter wird nicht angehangen. Was ist daran falsch?
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

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

    Standard

    Du fügst der aktuellen Url den Parameter hinzu und lässt das Ergebnis im Nirvana verschwinden. Danach lädst du die aktuelle unveränderte URL neu.

    https://github.com/contao/core-bundl...ller.php#L1036
    https://github.com/contao/core-bundl...ller.php#L1067

    Was du willst ist ein redirect the neu generierten URL.

  3. #3
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.792

    Standard

    Ah danke! Ich dachte addToUrl schreibt was in die aktuelle URL dazu und reload lädt diese URL dann neu.
    PHP-Code:
    static::redirect(Environment::get('uri')); 
    hatte ich auch gefunden, aber gedacht, das holt die mit addToUrl modifizierte uri ab.

    Ist halt der Nachteil von fehlender Dokumentation. Und der PHP-Code, weil von Profis geschrieben, ist nicht sehr aufschlußreich, weil man sich meistens durch viele Funktionen hangeln muß, die in diversen Dateien verstreut sind, die man auch erstmal rausbekommen muß.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  4. #4
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.792

    Standard

    PHP-Code:
    \Controller::reload(\Controller::addToUrl('send=1')); 
    lädt die aktuelle Seite ohne Parameter send neu. Und
    PHP-Code:
    $url = \Controller::addToUrl('send=1');
    header('Location:'.$url); 
    erzeugt eine ungültige URL mit z.B. zweimal preview.php.
    Wie lade ich denn nun die aktuelle URL mit neuem Parameter neu?
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  5. #5
    Contao-Nutzer
    Registriert seit
    30.07.2015.
    Beiträge
    140

    Standard

    sehr umständlich aber:


    PHP-Code:
    global $objPage;
    $strUrl = \Controller::generateFrontendUrl($objPage->row());
    \
    Controller::redirect($strUrl '?test=test'); 

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
  •