Bonjour
Je suis en train de développer un site vitrine pour un coiffeur, et il voudrait vendre ses produits via internet en paiement à la livraison. Donc, pas besoin de conserver les coordonnées bancaire, je souhaitais faire le site sans que le visiteur ait besoin de se connecter. Je débute un peu en Laravel, je me suis donc plongée dans le sessions mais je bute à un point.
J'ai fait mon test ainsi :
Là, il m'affiche bien Soin sur ma page ; si je mets d'autre Session::push('cart.item', 'blahblahba') à la suite, ça marche aussi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 {{Session::put('key', 1)}} {{Session::put('cart', 'Cart')}} {{Session::push('cart.item', 'Soin')}} @if(Session::has('cart.item')) @foreach(Session::get('cart.item') as $truc) {{$truc}} @endforeach @endif
Donc, ce que je veux faire, c'est quand on clique sur le produit, il s'enregistre dans le panier, la session. J'ai donc fait un formulaire comme ceci :
Et dans mon contrôleur, cela donne ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 @foreach($lesproduits as $produit) {{Form::open(array('class'=>'well','url' => 'products', 'enctype' => 'multipart/form-data'), 'produits', 'POST')}} {{Form::token()}} {{$produit->nom}} <input name="id" type="hidden" value='{{$produit->id}}'> {{$produit->id}} {{Form::submit('Envoyer', array('class'=>'btn btn-primary'))}} {{Form::close()}} @endforeach
Mais le soucis, c'est que la Session ne s'actualise pas, et lorsque je retourne à la page précédente, j'ai toujours le test d'indiqué. Mon code peut-il marcher ? Suis-je sur la bonne voie ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public function store() { $id = Input::get('id'); $produit = Produit::find($id); Session::push('cart.item', $produit->nom); return Redirect::back(); }
Merci d'avance.
EDIT : résolu, il faut enlever le Session::put(...). Voila.
Partager