GillesGuil Posted May 27, 2015 Share Posted May 27, 2015 (edited) Bonjour,Je suis sous Prestashop 1.5.4.0, et plutôt débutant en PHP, je rencontre un problème avec la référence des produits déclinés.Je m'explique:Par défaut, lorsque le stock d'un produit décliné est à 0, le hook out of stock s'affiche, permettant l'envoi d'un mail pour avertir le client du réapprovisionnement.Or, lorsque ce mail est envoyé, s'il s'agit d'un produit à déclinaison, celle-ci n'est pas précisée dans l'e-mail.Aussi, j'aurais aimé récupérer la référence de la déclinaison.J'ai réussi à récupérer et à afficher assez facilement dans l'email la référence du produit en modifiant les fichiers - modules/mailsalerts/MailAlert.php (ligne 169, rajout "{reference}' => $product->reference"), et - modules/mailsalerts/mail/fr/customer_qty.html (rajout {reference} à l'endroit voulu).Mais la référence qui s'affiche dans l'email est celle du produit par défaut, en l'occurrence "AROME_FRUIT", et j'aimerais avoir la référence déclinée genre "AROME_FRAMBOISE" ou "AROME_BANANE", sans quoi le client peut ne plus se souvenir de sa demande passée.Après recherches, j'en ai déduit que cela provenait probablement du hook out of stock, qui ne prenait pas en considération la déclinaison sélectionnée lorsque celle-ci a son stock à 0.Mes compétences en php étant limitées, j'ignore si c'est simple ou complexe à résoudre, et je sollicite l'aide de la communauté... Quelqu'un aurait-il une piste?Je suis sous prestashop 1.5.4.0Merci d'avance! Edited May 28, 2015 by GillesGuil (see edit history) Link to comment Share on other sites More sharing options...
GillesGuil Posted May 27, 2015 Author Share Posted May 27, 2015 Malheureusement non, ça aurait été trop simple... .J'avais une autre hypothèse si la récupération de la référence déclinée était impossible, ça aurait été récupérer le dernier mot de l'URL une fois la déclinaison sélectionnée.Par défaut elle est du genre :http://www.---.fr/categorie/19-aromes.htmlEt une fois sélectionné une déclinaison l'URL devient http://www.---.fr/categorie/19-aromes.html#/arome-fraiseA défaut de la référence déclinée, si je pouvais récupérer que le dernier mot de l'URL (en gras), cela me suffirait. Tant que la référence déclinée est indiquée d'une manière ou d'une autre dans le mail de réapprovisionnement. Mais c'est toujours le même hook out of stock, inévitable, qui ne prévoit pas par défaut cette possibilité... Et je m'en casse les dents depuis le début de l'après-midi... Link to comment Share on other sites More sharing options...
EISEAL Posted May 27, 2015 Share Posted May 27, 2015 (edited) Salut, Peut etre une piste : C'est dynamique, ça se passe donc dans le product.js du thème Tu dois avoir un bout de code qui ressemble à ça : if (availableLaterValue != '') { $('#availability_value').text(availableLaterValue); if (stock_management == 1) $('#availability_statut:hidden').show('slow'); } Essai de le remplacer par ça : if (availableLaterValue != '') { $('#availability_value').text(availableLaterValue + ' ' + selectedCombination['reference']); if (stock_management == 1) $('#availability_statut:hidden').show('slow'); } (Je suis sur la version 1.6 mais ca doit fonctionner pareil ) PS : Je suis une quiche en javascript Edited May 27, 2015 by anteverce (see edit history) Link to comment Share on other sites More sharing options...
GillesGuil Posted May 28, 2015 Author Share Posted May 28, 2015 Hello anteverce,Malheureusement, la modification de ce script dans product.js n'a aucun effet: c'est toujours la référence par défaut qui s'affiche, et non la référence de la déclinaison... Link to comment Share on other sites More sharing options...
GillesGuil Posted May 28, 2015 Author Share Posted May 28, 2015 Merci okom3pom ! Ca fonctionne Link to comment Share on other sites More sharing options...
spip93 Posted May 6, 2016 Share Posted May 6, 2016 Bonjour Okom3Pom, Désolé de déterrer ce sujet, mais sur le mien, assez similaire, je n'ai eu aucune réponse. Dans ton avant-dernier message, tu mets : Bon du coup j'ai ouvert le fichier Tu peux faire comme ça : $ref_attrib = Db::getInstance()->getValue('SELECT reference FROM '._DB_PREFIX_.'product_attribute WHERE id_product_attribute = '.(int)$id_product_attribute); A placer dans : public static function sendCustomerAlert($id_product, $id_product_attribute) Excuse-moi, mais j'ai rien compris J'ai bien compris qu'il fallait placer ta ligne de code quelque part, mais dans quel fichier ? Il faut remplacer une ligne déjà écrite ou l'ajouter ? Si oui, où ? D'avance merci pour ta réponse. Bonne journée 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