IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Création d'un panier de produits e-commerce


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2017
    Messages : 27
    Par défaut Création d'un panier de produits e-commerce
    Bonjour,

    Je souhaiterai faire une fonction d'ajout au panier. J'ai une entité : user et product mais je n'ai plus d'entité panier.

    Comment je dois faire pour que lorsque je clique sur mon lien d'ajout au panier, je sois amené vers le panier et que sur cette vue il y est décrit tout les objets que j'ai rajouté ?

    Je n'arrive pas à bien comprendre le concept de session.

    Votre aide est la bienvenue

    Merci d'avance,

    Max

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Par défaut
    Bonjour,

    il faut créer une session et lui ajouter un tableau vide . Ensuite à chaque clic ton objet choisi sera ajouté au panier .
    la classe panier en php est classique, inutile de la créer toi meme ; c'est partout sur le net.
    chaque session est identifié par son id random et concerne le navigateur courant.
    la documentation de session en PHP est assez complete.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2017
    Messages : 27
    Par défaut
    Bonjour et merci de ton aide.

    Voila ce que j'ai tenté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
        /**
         * @Route("/panier/ajouter/{productId}", name="addPanier")
         * @param $productId
         * @param SessionInterface $session
         * @return string
         */
        public function ajouterPanierAction($productId, SessionInterface $session)
        {
            $em = $this->getDoctrine()->getManager();
     
            $panier = $session->get('panier', []);
     
     
            $productRepository = $em->getRepository("AppBundle:Product");
            $product = $productRepository->find($productId);
     
            $panier[] = $product;
     
            //ajouter au "panier" ce l'item en question
     
     
            return $this->generateUrl("panier", ["panier" => $panier]);
     
        }
    et ma fonction qui affiche le panier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
        /**
         * @Route("/panier", name="panier")
         * @param SessionInterface $session
         * @return \Symfony\Component\HttpFoundation\Response
         */
        public function panierAction(SessionInterface $session)
        {
     
            $panier = $session->get('panier', []);
            //passer le panier de l'utilisateur en cours
     
            //afficher les items choisi à stocker dans son "panier" qui n'est en réalité qu'une image de caddie/bac
            //$product = $em->getRepository("")->find(1);
     
     
            return $this->render('default/panier.html.twig', ["panier" => $panier]);
        }
    Symfony me tombe une erreur : The controller must return a response (/panier given).

    Bref je suis un peu perdu sur cette construction de panier.

    Max

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2017
    Messages : 27
    Par défaut
    J'avance vers quelque chose de déjà un peu plus intéressant !

    Dans ma fonction addPanierAction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            $panier = $session->get('panier');
            $session->replace(array('panier' => $panier." ".$productId));
     
            return $this->redirectToRoute('panier');
    Dans ma fonction panierAction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            $panier = $session->get('panier');
            if(!$session->has('panier'))
            {
                $session->set('panier', '');
            }
     
            return $this->render('default/panier.html.twig', ["panier" => $panier]);
    Et dans ma vue panier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        {{ app.session.get('panier') }}
    Bon sur ma page panier s'affiche simplement l'id du produit.

    Mon questionnement est : Comment afficher toutes les infos du produit ( nom, prix, image.. )

    Merci

    Max

Discussions similaires

  1. Création d'un panier e-commerce
    Par apprenti69 dans le forum AngularJS
    Réponses: 5
    Dernier message: 11/03/2016, 17h52
  2. Création d'un panier de produit avec Symfony
    Par Raiden972 dans le forum Autres langages pour le Web
    Réponses: 0
    Dernier message: 09/06/2010, 20h05
  3. Réponses: 5
    Dernier message: 17/04/2009, 16h12
  4. Tutoriel : création d'un panier
    Par RideKick dans le forum E-Commerce
    Réponses: 0
    Dernier message: 11/05/2008, 20h52
  5. Panier de produits !
    Par Seth77 dans le forum Langage
    Réponses: 3
    Dernier message: 05/07/2006, 10h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo