Jump to content

[Résolu] champ rempli par client sur produit + même produit en quantité 1 dans commande


Recommended Posts

Bonjour à tous :)

 

J'aimerais, au niveau des commandes de produit, ajouter un champ "votre référence" qui serait encodée par le client et donc, ajoutée au produit lorsqu'il valide sa commande. Autrement dit, pour chaque produit commandé, le client peut encoder sa référence. Le problème est que je n'arrive pas à voir comment faire pour ajouter cette référence lors de l'enregistrement en DB.

Pour faire la sauvegarde, j'appelle en ajax le controller cart avec les paramètres suivants:

 

'controller=cart'
+'&add=1'
+'&ajax=true'
+'&qty=1'
+'&id_product='+id_product
+'&id_product_attribute='+combinaison
+'&references_customer='+references_client
+'&token=' + gl_token;
 
J'ai ajouté un champ "references_customer" dans la table "ps_cart_product".
Mais au niveau du controller Cart, je ne vois pas où je peux faire cette ajout et enregistrer la référence reçue dans mon champ en DB. Les actions qu'il effectue sont:
$return = parent::add($autodate, $null_values);
Hook::exec('actionCartSave');
Aucune requête n'est donc effectuée directement ici et je ne trouve pas où se trouve le "actionCartSave" pour voir ce qu'il fait.
 
Si quelqu'un pouvait m'éclairer :) .
 
Autrement point qui est peut-être lié (ou pas?): il est donc possible qu'un client commande plusieurs fois le même produit mais avec des références différentes. J'aimerais donc enlever le fait qu'il update la quantité mais bien qu'il m'ajoute le produit comme un nouveau produit.
 
En bref, pour résumé, pour le moment:
Commande du produit A avec les attributs X, Y, Z et références client "1-23456-789"
PANIER: Produit A - attributs X, Y, Z - Quantité 1
Commande du produit A avec les attributs X, Y, Z et références client "9-87654-331"

PANIER Produit A - attributs X, Y, Z - Quantité 2

 

Ce que j'aimerais:

Commande du produit A avec les attributs X, Y, Z et références client "1-23456-789"
PANIER: Produit A - attributs X, Y, Z - votre référence "1-23456-789" - Quantité 1
Commande du produit A avec les attributs X, Y, Z et références client "9-87654-331"

PANIER Produit A - attributs X, Y, Z - votre référence "1-23456-789" - Quantité 1

              Produit A - attributs X, Y, Z - votre référence "9-87654-331" - Quantité 1

 

En espérant que quelqu'un pourra m'aider :)

Edited by David Hostaux (see edit history)
Link to comment
Share on other sites

Bon ben j'ai résolu ceci  :D

 

Pour ceux qui voudrait la solution, il faut aller overrider les méthodes d'ajout/modification/suppression de la classe Cart.php ainsi que le contrôleur CartController.php.

 

EDIT: et c'est quand tout est fini que l'on me dit que, contrairement au design reçu, le champ référence ne doit pas se trouver au niveau du produit mais bien au niveau de la commande... VDM 

Edited by David Hostaux (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...