Laravel les variables de Session dans la Lame @si
J'ai frappé quelques bizarreries avec Laravel 4.2 lorsque vous tentez de définir une variable JS dans une lame à l'aide de Laravel Session de flash de certaines données. C'est assez simplement, et je ne peux pas comprendre ce que j'ai manqué...
Objectif: déclencher un Javascript site de tour à droite après qu'un utilisateur s'enregistre.
Approche: Flash d'un welcome_tour variable de session, qui définit alors un JS boolean lors de l'actualisation de la page, qui à son tour commence le tour en JS.
Ma fonction registre conclut avec le paramètre de Session:
Session::flash('welcome_tour', TRUE);
Et je suis en essais qu'il est ramassé et définit la variable JS correctement avec la suite de ma lame:
<script>
@if(Session::has('welcome_tour'))
var welcome_tour = true;
@else
var welcome_tour = false;
@endif
</script>
{{ var_dump(Session::all()) }}
La JS extrait de code dans le HTML résultant indique que le welcome_tour n'a pas été trouvé 🙁
<script>
var welcome_tour = false;
</script>
Mais la Session détail imprimé à l'écran par le var_dump indique qu'il a été défini correctement:
array (size=4)
'_token' => string 'HHBowu6wdYlIKy4kFiWYwCe4lQRkFbG7jdNDlYXQ' (length=40)
'flash' =>
array (size=2)
'old' =>
array (size=1)
0 => string 'welcome_tour' (length=12)
'new' =>
array (size=0)
empty
'login_82e5d2c56bdd0811318f0cf078b78bfc' => string '1137' (length=4)
'welcome_tour' => boolean true
Comment la variable de Session, être à la fois là et pas là??
welcome_tour
? Aussi, est welcome_tour
dans le code HTML lorsque vous affichez le code source de la page dans votre navigateur?Merci Frank. Bizarrement, la console me dit welcome_tour est correctement définie sur true. Je suppose que c'est assez pour moi de déclencher mon tour, mais c'est juste bizarre que le source HTML est l'établissement qu'elle est fausse, et pourtant, il est mystérieusement le jeu c'est vrai quelque part d'autre.
Avez-vous peut-être définir la valeur de
welcome_tour
dans plusieurs endroits? si vous êtes à la recherche à la mauvaise partie de la source HTML?Sans une recherche globale ne montre
welcome_tour
dans ce spot. Juste pour être convaincu à 100%, j'ai changé le nom de la variable à être un vraiment unique jabba_the_hut
et a obtenu exactement le même résultat: HTML affiche la variable définie à false, mais la console de rapports comme vrai.OriginalL'auteur Fixspec | 2015-04-15
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser quelque chose comme ça.
et aussi essayer de
dd(Session::has('welcome_tour'))
pour vérifier la sortie de son état. peut-être de la session a la méthode de retour faux.<?php
etecho
et je suis à l'aide de la lame@if
et{{ }}
, mais sinon, ne sont-ils pas identiques?son juste de faire la différence pour exécuter la condition en vertu de l'instruction if.
OriginalL'auteur Safoor Safdar