Contao-Camp 2024
Ergebnis 1 bis 7 von 7

Thema: Insert-Tag {{session::variable}} funktioniert nicht mehr?

  1. #1
    Contao-Nutzer Avatar von syntaxys
    Registriert seit
    05.05.2011.
    Ort
    Rheinzabern
    Beiträge
    82

    Standard Insert-Tag {{session::variable}} funktioniert nicht mehr?

    Hallo zusammen,
    ich habe kürzlich ein System von 3.5 auf 4.4 umgestellt und habe nun wohl keinen Zugriff mehr auf {{session::variable}} im Frontend. Es soll ein Code generiert werden, der ein Formularfeld vorausfüllt:
    PHP-Code:
    $vownums = array('a','e','i','o','u','y','A','E','U','Y','2','3','4','5','6','7','8','9');
    $consonants = array('b','c','d','f','g','h','j','k','m','n','p','q','r','s','t','v','w','x','z','B','C','D','F','G','H','J','L','M','N','P','Q','R','S','T','V','W','X','Z');

    $voucherId '';
    $alt time() % 2;
    for (
    $i 0$i 5$i++)
        {
        if (
    $alt == 1)
            {
            
    $voucherId .= $consonants[(rand() % count($consonants))];
            
    $alt 0;
            }
        else
            {
            
    $voucherId .= $vownums[(rand() % count($vownums))];
            
    $alt 1;
            }
        }

    $this->Session->set('code'$voucherId); 
    Der Zugriff funktioniert ohne Probleme:
    PHP-Code:
    echo 'code: '.$this->Session->get('code'); 
    Die Ausgabe von {{session::code}} jedoch nicht. Was hat sich dahingehend geändert?

    Vielen Dank für Eure Tipps.
    Geändert von syntaxys (23.10.2019 um 08:53 Uhr)
    „Arabica“ – ein One-Pager Theme für Contao 4.9: https://arabica.syntaxys.com/

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.898
    Partner-ID
    10107

    Standard

    Einen solchen Insert Tag hat es, soweit ich weiß, nie im Core gegeben?

  3. #3
    Contao-Nutzer Avatar von syntaxys
    Registriert seit
    05.05.2011.
    Ort
    Rheinzabern
    Beiträge
    82

    Standard

    Stimmt, ich hab's grad gemerkt, daß in der alten 3.5er die Erweiterung inputvar dafür eingebunden war. Die gibt's wohl nicht mehr für 4.x …
    Hat jemand eine Idee, wie ich Formularfelder automatisch aus der Session vorausfüllen kann?
    „Arabica“ – ein One-Pager Theme für Contao 4.9: https://arabica.syntaxys.com/

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.898
    Partner-ID
    10107

  5. #5
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.612
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    bau Dir ein Template /templates/session.php mit folgendem Inhalt:
    PHP-Code:
    <?php
         
    echo $this->Session->get('code');
    und verwende dann den InsertTag: {{file::session.php}}

  6. #6
    Contao-Nutzer Avatar von syntaxys
    Registriert seit
    05.05.2011.
    Ort
    Rheinzabern
    Beiträge
    82

    Standard

    Ich war dann auch auf die Idee gekommen, das so zu lösen
    Allerdings braucht man dann für jede Variable eine eigene Datei, das ist etwas umständlich …

    Es würde genügen, die
    core-bundle/src/Resources/contao/library/Contao/InsertTags.php
    um 4 Zeilen zu erweitern (z. B. ab 576):

    PHP-Code:
    // SESSION data
    case 'session':
        
    $arrCache[$strTag] = $this->Session->get($elements[1]);
        break; 

  7. #7
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.612
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Warum?
    Rufe doch den InsertTag mit {{file::session.php?tag=code}} auf.

    Dann änderst Du die Templatedatei so:
    PHP-Code:
    <?php
         
    echo $this->Session->get(\Input::get('tag'));

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
  •