7937 sujets

Développement web côté serveur, CMS

Bonsoir tout le monde,

Avant de vous exposer mon problème, je tiens à vous souhaitez une excellente année 2019.

En ce moment je suis la série de vidéo de Sébastien Imbért qui explique comment développer un panier d'achat avec NodeJS - https://www.youtube.com/channel/UC18RbwcHN3cP8Q-K53PF-JQ

La 4é vidéo explique comment ajouter un produit au panier,
les premières étapes sont relativement simple :

Édition de la "Vue"
Ajout d'un bouton avec un formulaire ayant la méthode : ajouter-au-panier


extends layout
form(action="/ajouter-au-panier", method="POST")
input(type="hidden", name="productId", value=product.id)
buton(type="submit").btn.btn-outline-dark.btn-sm ajouter au panier


Édition de la "Route"
On ajoute un router.post avec la bonne méthode et le bon constructeur

const express = require('express');
const router = express.Router();

const shopController = require('../controllers/shop');

router.get('/', shopController.getIndex);

router.get('/produit/:id', shopController.getProductDetails);

router.get('/panier', shopController.getCart);

router.post('/ajouter-au-panier', shopController.postCart);

module.exports = router;


Et enfin, édition du constructeur

const Product = require('../models/Product');
const Cart = require('../models/Cart');

const getIndex = (req,res) => {
	Product.findAll(products => {
		res.render('index', {
			title: 'Bienvenue sur votre boutique',
			path: '/',
			products: products
		});
	});
}

const getProductDetails = (req, res) => {
	Product.findById(req.params.id, product => {
		res.render('product-details', {
			title: product.name,
			product: product
		});
	});
}

const getCart = (req,res) => {
	res.render('cart', {
		title: "Panier",
		path: '/panier'
	});
}

const postCart = (req,res) => {
	console.log('test');
}


module.exports = {
	getIndex: getIndex,
	getProductDetails: getProductDetails,
	getCart: getCart,
	postCart: postCart
}


A partir de là, les choses ce complique,
le console.log dans la const postCart n'est pas pris en compte et je ne parviens pas à identifier l'erreur malgré de multiple vérification.

Je ne suis pas encore très expérimenté avec le modèle MVC et j'espère que vous pourrez m’aiguiller pour que je puisse mener ce projet à son terme.

Si vous le souhaitez, vous pouvez récupérer le code source ici :
https://github.com/adel1982/js-node-shopping-cart

Cordialement,

Adel