Ergebnis 1 bis 6 von 6

Thema: $this->redirect($strURL); erzeugt weiße Seite

  1. #1
    Contao-Nutzer
    Registriert seit
    25.08.2011.
    Beiträge
    59

    Standard $this->redirect($strURL); erzeugt weiße Seite

    Moin, moin,
    ich habe im DCA eines eigenen Moduls einen Button-Callback wie folgt angelegt:

    PHP-Code:
        'operations' => array
            (
                
    'upload' => array
                (
                    
    'label'               => &$GLOBALS['TL_LANG']['tl_km_sitzungen']['upload'],
                    
    'icon'                => 'system/modules/sitzungen/html/upload.gif',
                    
    'button_callback'     => array('tl_km_sitzungen''redirectDateiupload')
                ), 
    und die dazugehörige Funktion sieht so aus:
    PHP-Code:
    public function redirectDateiupload($row$href$label$title$icon$attributes)
        { 
            if (
    strlen($this->Input->get('upload')))
            {
                
    $strURL $this->replaceInsertTags'{{env::path}}' ).'contao/main.php?do=files&act=move&mode=2&pid='.$row['singleSRC'].'&id=';
                
    $this->redirect($strURL);
            }
            
    $href .= '&id='.$this->Input->get('id').'&upload='.$row['id'];
     
            return 
    '<a href="'.$this->addToUrl($href).'" title="'.specialchars($title).'"'.$attributes.'>'.$this->generateImage($icon$label).'</a> ';
        } 
    der in der Variablen $strURL erzeugte Wert ist korrekt. Dies habe ich durch direkte Eingabe im Browser überprüft, damit komme ich direkt in die Dateiverwaltung in den gewünschten Ordner.

    Das Modul läuft unter 2.11.16. Wo könnte bloß der Fehler liegen?

    Gruß
    bees2

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

    Standard

    Eine weisse Seite heisst meistens du hast "Fehlermeldungen anzeigen" ausgeschaltet.
    Wenn du sie einschaltest wird sie dir ziemlich sicher sagen, dass du die Methode "redirect()" in einem Kontext verwendest wo sie nicht existiert. Überleg dir auf was sich "$this" bezieht.
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  3. #3
    Contao-Nutzer
    Registriert seit
    25.08.2011.
    Beiträge
    59

    Standard

    Hallo Toflar,
    danke für die schnelle Reaktion.
    "Fehlermeldungen anzeigen" ist eingeschaltet. Lasse ich in der Zeile "$this->redirect($strURL);" z.B. das ";" am Ende weg, bekomme ich den Fehler "Parse error: syntax error, unexpected T_EXIT ..." wie erwartet statt einer weißen Seite angezeigt. Und das $this->redirect funktioniert in der Funktion "toggleIcon" (entsprechend "Die Toggle-Funktion in eigenen Erweiterungen nutzen" eingebaut), die sich in derselben Klasse befindet, einwandfrei.

    Das Fragezeichen bleibt also!

    Gruß
    bees2

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

    Standard

    Extended denn deine Klasse in der sich deine Methode befindet irgendwas?
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  5. #5
    Contao-Nutzer
    Registriert seit
    25.08.2011.
    Beiträge
    59

    Standard

    ja

    class tl_km_sitzungen extends Backend

  6. #6
    Contao-Nutzer
    Registriert seit
    25.08.2011.
    Beiträge
    59

    Standard

    Moin, moin,
    bin nun ein kleines Stück weiter. Der die-Befehl eine Zeile nach dem redirect, der mM hätte ja nicht greifen dürfen, hat für die weiße Seite gesorgt. So dass nun, die gewünschte Seite in der Dateiverwaltung aufgerufen wird.

    Leider hat der Zurück-Button auf der Dateiverwaltungs-Seite den falschen Link (do=sitzungen&table=tl_km_sitzungen&id=19&upload=1 26 statt do=sitzungen&table=tl_km_sitzungen&id=19 (eigentlich der Referer)). Gibt es eine Möglichkeit zu unterscheiden, welcher Button (Zurück-Button oder mein Modul-Button), die nun dieselbe Adresse aufrufen, verantwortlich für den Aufruf ist?

    Kann man vielleicht jeweils auf die History(-2)-Seite, die auf jeden Fall bei den Aufrufen unterschiedlich wären, abfragen?

    Gruß
    bees2

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
  •