Octet06 Posted June 15, 2012 Share Posted June 15, 2012 Bonjour à tous, Je dois développer un module pour prestashop 1.5 qui va me permettre de modifier les prix des produits en fonction de la quantité commandée (d'une manière différente que la règle du pannier ou du catalogue). Je me demandais s'il était possible de modifier le comportement de la class Cart.php pour changer les prix sur la page de résumé de confirmation de commande, sans toucher à la classe elle-même. J'ai pensé a utilisé le hookActionCartSave mais à priori je n'arrive pas à détourner les actions de Cart. Aussi si quelqu'un a une solution je lui en serai très reconnaissant. Yann Link to comment Share on other sites More sharing options...
Dev On Web Posted June 15, 2012 Share Posted June 15, 2012 Bonjour, Afin de réaliser des développements annexes sur des fonctionnalités du core de PS, une technique est à disposition exprès : l'override. Tu peux donc faire tes modifications dans /override/classes/Cart.php et si besoin dans le contrôleur de la même manière 1 Link to comment Share on other sites More sharing options...
Octet06 Posted June 15, 2012 Author Share Posted June 15, 2012 Tout d'abord merci pour ta réponse j'ai bien tenté de le faire par l'override, et ça marche, cependant je suis obligé d'appeler la fonction depuis le Cart.php il me semble c'est ce qui me pose souçis en cas de MAJ Link to comment Share on other sites More sharing options...
Dev On Web Posted June 15, 2012 Share Posted June 15, 2012 Tu peux tout à fait l’appeler depuis l'override de Cart.php... 1 Link to comment Share on other sites More sharing options...
Octet06 Posted June 15, 2012 Author Share Posted June 15, 2012 Hmm intéressant, mais je ne vois toujours pas. Cart.php a une fonction getOrderTotal() qui renvoit le prix de chaque produit et de la commande totale. A l'intérieur de cette fonction j'ai fais un appel de fonction de mon override pour changer à la volée le prix. J'ai du mal à voir comment faire pour appeler cette fonction (de l'override) sans mettre une seule ligne dans Cart.php En tous le cas merci pour ces réponses Link to comment Share on other sites More sharing options...
Dev On Web Posted June 15, 2012 Share Posted June 15, 2012 Dans ce cas, copiez intégralement la fonction getOrderTotal() dans l'override et laissez intacte celle de la classe d'origine 1 Link to comment Share on other sites More sharing options...
Octet06 Posted June 15, 2012 Author Share Posted June 15, 2012 Je me doutais que c'était la seule solution, merci beaucoup. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now