Jump to content

Ajout simultané de deux articles au panier


Recommended Posts

Bonjour,

en version 1.3.6 de prestashop, j'avais modifié les fichiers product.tpl, ajax-cart.js et product.js afin que lors d'un clic sur "ajouter au panier", deux articles s'ajoutent simultanément.

 

Je suis actuellement en train de mettre a jour ma boutique en 1.4.4

Les modifcations etant assez lourdes, je voulais savoir si la nouveauté "override" de la v 1.4 etaient adaptée à mon besoin.

 

Merci

 

Michael

Link to comment
Share on other sites

Bonjour,

 

saurais-tu préciser ce que tu as modifié ?

 

Je sais que quelqu'un m'avait demandé quelquechose de similaire il y a pas très longtemps et ça avait été très vite fait en 1.4

 

Merci pour ta reponse.

Sans rentrer vraiment dans les details:

Ma boutique concerne des lentilles de contact et la problematique de ce genre de produit est qu'une boite represente des corrections pour un seul oeil. Donc le client souhaite generalement commander deux boites(une par oeil) avec des attributs differents

j'ai donc modifié:

- product.tpl afin de dupliquer le "buy block". J'affiche cote-a-cote l'oeil gauche et l'oeil droit avec pour chaque oeil ses attributs, et un seul bouon "ajouter au panier"

- product.js afin de dupliquer la fonction "findCombination()" vu qu'il y a deux jeux de combinaisons différents sur chaque page produit.

- ajax-cart.js afin de dupliquer la fonction ajaxCart.add()

 

Tout ceci fonctionne bien en 1.3.6 mais ce n'est pas "propre". J'entends par la que comme je dois mettre a jour en 1.4, je dois identifier et repeter toutes mes modifs(et la je t'ai fait la liste courte, j'ai ajouté quelques fonctions de check des attributs par exemple si l'oeil gauche concerne une boite de 30 lentilles, on ne peut pas choisir une boite de 60 lentilles pour l'oeil droit).

 

Sachant qu'une des nouveautés majeures de la 1.4 est l'override(je n'ai pas encore vraiment mis le nez dedans) afin de garder un code compatible pour les versions futures, je voulais donc savoir s'il etait possible de l'utiliser dans mon cas.

 

J'espere avoir été clair.

 

Merci

  • Like 1
Link to comment
Share on other sites

D'accord, problématique intéressante !

 

Oui, l'override est possible et me semble adapté à ton cas.

 

Je te propose une autre solution, pour en avoir discuté il y a quelques semaines avec Mr6 (du forum) : Son problème est qu'il utilisait des packs, mais que si un des produits n'était pas en stock, impossible d'en proposer un autre à la place : le pack n'était évidemment pas disponible. Il souhaitait pouvoir créer des packs en choisissant des catégories plutôt que des produits (sorte de "pack dynamique").

 

le résultat de notre tout petit brainstorming :

 

1) une table pack_category (id_pack, id_category, qty)

2) dans l'admin rajouter un mode "pack dynamique" avec choix des catégories au lieu des produits

3) front office, page du produit "pack dynamique" = affichage des divers <select> avec la liste des produits dispo pour la catégorie qu'il faut

4) affichage que des produits disponibles dans le select

5) faudrait pouvoir avoir des infos du produit qu'on sélectionne parce que sinon c'pas ergonomique

 

on imagine donc soit une surcharge de ça (mais compliqué à faire), soit une classe copiée "CategoryPack" qui étendrait celle là , remplacerait les méthodes qu'il faut pour taper dans ps_categorypack au lieu de ps_pack, + quelques méthodes du genre getProductList($availableOnly = true) qui renverrai la liste des produits à mettre dans le select

 

 

  • Like 1
Link to comment
Share on other sites

Merci pour ce retour.

Mais je t'avoue que mes connaissances sont assez limitées pour bien comprendre ce que tu me dis :-)

 

Je sais modifier un tpl et un javascript, dupliquer un modules et le modifier à ma sauce, mais des qu'on touche aux classes je suis vite largué...

 

Deja une question: tu me dis que l'override est possible et adapté à mon cas.

Puis tu me parles d'une autre solution.

 

Que dois-je choisir et pour quelles raisons ?

 

Ensuite, si je m'oriente vers ta solution(t'es dev coeur presta je vais quand meme avoir tendance à t'ecouter :P ), je ne parviens pas a saisir la similitude entre ma problematique et celle de Mr6.

Stp peux-tu m'eclairer un peu plus ?

 

En tout cas merci !

  • Like 1
Link to comment
Share on other sites

J'ai pensée à la solution envisagée avec Mr6 car avec ce système tu pourrais créer un pack de paire de lentilles avec 1er produit = un élément de telle catégorie, et 2eme produit = telle autre catégorie (ou la même).

 

Ta solution (celle de la 1.3.6) me semble plutôt propre, et il me semble qu'il n'y aura pas beaucoup de changement à faire en 1.4.

 

La surcharge en 1.4, c'est les classes et les controlleurs, mais également les fichiers js et css des modules par exemple :

 

si tu as le thème "montheme", tu peux placer ton fichier /themes/montheme/js/blockcart/ajax-cart.js qui sera utilisé à la place de celui se trouvant dans /modules/blockcart/ajax-cart.js

 

De cette manière les fichiers de bases ne sont pas modifiés.

Link to comment
Share on other sites

La surcharge en 1.4, c'est les classes et les controlleurs, mais également les fichiers js et css des modules par exemple :

 

si tu as le thème "montheme", tu peux placer ton fichier /themes/montheme/js/blockcart/ajax-cart.js qui sera utilisé à la place de celui se trouvant dans /modules/blockcart/ajax-cart.js

 

De cette manière les fichiers de bases ne sont pas modifiés.

Ah mais c'est super interessant ça je ne savais pas !

je te ferai un retour apres avoir essayé ça

Merci !

Link to comment
Share on other sites

  • 5 weeks later...

Bonjour,

en version 1.3.6 de prestashop, j'avais modifié les fichiers product.tpl, ajax-cart.js et product.js afin que lors d'un clic sur "ajouter au panier", deux articles s'ajoutent simultanément.

 

Je suis actuellement en train de mettre a jour ma boutique en 1.4.4

Les modifcations etant assez lourdes, je voulais savoir si la nouveauté "override" de la v 1.4 etaient adaptée à mon besoin.

 

Merci

 

Michael

 

Hello

 

comment avais tu fait pur ajouter simultanément 2 produits ?

 

était-ce 2 fois le même produit qui se rajoutait ou 2 produits différents ?

Link to comment
Share on other sites

  • 1 month later...
si tu as le thème "montheme", tu peux placer ton fichier /themes/montheme/js/blockcart/ajax-cart.js qui sera utilisé à la place de celui se trouvant dans /modules/blockcart/ajax-cart.js

 

 

J'avais laissé le developpement de coté pendant quelques mois, et la je suis de retour, et effectivement cette methode fonctionne à merveille !

 

Merci beaucoup !

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...