Ergebnis 1 bis 4 von 4

Thema: Session array set ung get, Problem im processFormData Hook und form template

  1. #1
    Contao-Nutzer
    Registriert seit
    28.07.2009.
    Ort
    Eisenach
    Beiträge
    137

    Frage Session array set ung get, Problem im processFormData Hook und form template

    Hi,
    i lege ein Wert in der Session mit
    PHP-Code:
     $this->Session->set('cat''test'); 
    in dem hook.
    dann lese ich ihn im template mit
    PHP-Code:
     $this->Session->get('cat'); 
    Ich prüfe mit if ob es ihn gibt, dann wird es ausgegeben mit echo, dann will ich den wert wieder auf null setzen mit
    PHP-Code:
    $this->Session->set('cat'null); 
    was auch funktioniert.
    Nun ist aber der wert in der if abfrage auch null ( $this->Session->get('cat')
    Warum?
    Irgendwie wird das neusetzten auf null im template ausgeführt obwohl es in der if steckt.

  2. #2
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    nunja du setzt es auf null, du löscht es ja nicht, entweder löscht du das Array via unset, oder du ergänzt deine if Abfrage zusätzlich mit empty bzw. is_null.

    PHP-Code:
    <?php
    if(!is_null($this->Session->get('cat')) {
       echo 
    $this->Session->get('cat');
    } else {
      
    // was auch immer
    }
    Kein Privat Support via PM.

  3. #3
    Contao-Nutzer
    Registriert seit
    28.07.2009.
    Ort
    Eisenach
    Beiträge
    137

    Standard

    teste es doch mal. setze ein im hook und versuche es dann im template wieder auszulesen und anschließend auf null setzen.
    hook:
    PHP-Code:
    public function __construct(Database_Result $objModule=null$strColumn='main')
        {   
      if (
    $objModule !== null)
      
    parent::__construct($objModule$strColumn);
        }
     
    public function 
    myProcessFormData($arrPost$arrForm$arrFiles)
        {
        
    $this->import("Session");
        
        
    $this->Session->set('cat','test');
        
            }
        } 
    form template
    PHP-Code:
    <?php  if ($this->Session->get('cat')) : ?>
    html
    <?php 
    echo $this->Session->get('cat');
    $this->Session->set('cat'null); 
    ?>
    html 
    <?php endif; ?>

  4. #4
    Contao-Nutzer
    Registriert seit
    28.07.2009.
    Ort
    Eisenach
    Beiträge
    137

    Standard Frage zu dem gleichem Hook

    Ich will das Motools template um ein script erweitern.
    PHP-Code:
    $GLOBALS['TL_MOOTOOLS'][]="$myjs"
    Und zwar nach dem Formular erfolgreich abgeschickt wird. Dazu brauche ich dieses Hook.
    Scheinbar wird es aber nach dem Hook noch mal überschrieben. Ich denke beim Parsen der Templates.
    Ist das so? Wie kann man das Problem lösen?
    Kann man mit diesem Hook kein Template und auch keine Globasl ändern?
    Es gibt ja noch ein Hook parseFrontendTemplate. Da weis ich aber nicht wie ich ihn aus processFormData aufrufen soll.
    Kann jemand Licht in die Sache bringen?

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Weiterleitung nach Hook processFormData
    Von samheero im Forum Entwickler-Fragen
    Antworten: 8
    Letzter Beitrag: 13.02.2011, 19:26
  2. Session in einem Template abfrage
    Von jkdesigns im Forum Entwickler-Fragen
    Antworten: 1
    Letzter Beitrag: 04.02.2011, 14:10
  3. Antworten: 0
    Letzter Beitrag: 31.01.2011, 15:29
  4. Hook processFormData Problem
    Von JackJones im Forum Entwickler-Fragen
    Antworten: 9
    Letzter Beitrag: 28.12.2009, 07:56
  5. Hook processFormData
    Von Rastafanda im Forum Entwickler-Fragen
    Antworten: 16
    Letzter Beitrag: 01.07.2009, 10:59

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •