jujutte24 Posted February 16, 2022 Share Posted February 16, 2022 Bonjour à tous, j'ai cherche sur le forum et le net, mais pas trouvé de réponse... J'utilise Pretashop 1.6.1. Lorsqu'un client commande le dernier produit en stock, dans le tableau du mail de confirmation de commande, il est indiqué "en rupture". En gros, il achète le dernier produit, et le mail est généré après son achat (quasi simultanément, mais après). Donc en vérifiant les stocks pour générer le mail, la variable le trouve à zéro. Comment modifier ça pour que le mail indique "en stock" au lieu de "en rupture" ? Merci de votre aide Link to comment Share on other sites More sharing options...
Eolia Posted February 16, 2022 Share Posted February 16, 2022 Regardez dans /mails/fr (ou /en) le contenu de order_conf_product_list.tpl Nativement il n'y a pas cet affichage, donc regardez également dans le répertoire /mails de votre thème. Il doit y avoir une variable {if $quantity <= 0 } remplacez le <= par < Link to comment Share on other sites More sharing options...
jujutte24 Posted February 17, 2022 Author Share Posted February 17, 2022 Hello, ce ne serait pas dans classes/PaymentModule.php ? On fonctionne avec ton module : /* Eolia 2015 - module loi Chatel */ $productQuantity = (int)(Product::getQuantity((int)($product['id_product']), ($product['id_product_attribute'] ? (int)($product['id_product_attribute']) : NULL))); $quantityInStock = ($productQuantity - (int)($product['cart_quantity']) < 0) ? $productQuantity : (int)($product['cart_quantity']); $product_dispo = 'En stock'; if (Module::isInstalled('blockloichatel')) { if (!class_exists('ManufacturerModel', false)) include_once (_PS_ROOT_DIR_ . '/modules/blockloichatel/class/manufacturermodel.php'); if (($productQuantity - (int)($product['cart_quantity'])) < 0) { $product_dispo_datas = ManufacturerModel::getManufacturerRuleByProduct($product['id_product']); $product_dispo = $product_dispo_datas <= 0 ? $product_dispo : $product_dispo_datas.' jour(s)'; } } /* End Loi Chatel */ Link to comment Share on other sites More sharing options...
jujutte24 Posted February 17, 2022 Author Share Posted February 17, 2022 dans le fichier tpl des mails du thème, on n'a que ce code <td align="right"> <font size="2" face="Open-sans, sans-serif" color="#555454"> {$product['quantity']} </font> </td> Link to comment Share on other sites More sharing options...
Eolia Posted February 17, 2022 Share Posted February 17, 2022 Dans PaymentModule de la 1.6.1.1: Donc là, pas de trad ou texte sur la quantité sauf si $package['product_list'] a été modifié (pas d'override sur Cart.php ?) Link to comment Share on other sites More sharing options...
jujutte24 Posted February 17, 2022 Author Share Posted February 17, 2022 hummm, je n'ai pas bien saisi... oui, on a bien ce code, sans override. mais là je ne vois pas de variable comme sur ta première réponse... du coup, je ne vois pas quoi faire... Link to comment Share on other sites More sharing options...
Eolia Posted February 17, 2022 Share Posted February 17, 2022 On pourrait avoir une copie d'écran du mail avec un "En rupture" svp ? Parce que même le "En stock" n'est pas d'origine, normalement c'est la quantité commandée, pas autre chose. Link to comment Share on other sites More sharing options...
jujutte24 Posted February 18, 2022 Author Share Posted February 18, 2022 Link to comment Share on other sites More sharing options...
Eolia Posted February 18, 2022 Share Posted February 18, 2022 Ok, donc tpl modifié, ce n'est pas $product['quantity'] mais Le code contenu dans l'override de paiementModule met soit "En stock", soit le délai en jour s'il existe dans la fiche produit, nul part il n'y a de "En rupture" dans le code... Avez-vous un exemple de mail avec ce "En rupture" svp ? Link to comment Share on other sites More sharing options...
jujutte24 Posted February 21, 2022 Author Share Posted February 21, 2022 Non, c'est le délai, je pense lié à blocloichatel, en effet... Link to comment Share on other sites More sharing options...
Eolia Posted February 22, 2022 Share Posted February 22, 2022 Le code dit: délai = "En stock" Blockloichatel dit : Si pas en stock, on récupère le nombre de jours et on remplace "En stock" par "XXXX jours" Nulle part il n'est question de "En rupture". Je pourrais avoir un screen d'un mail avec ce "En rupture" svp ? Link to comment Share on other sites More sharing options...
jujutte24 Posted February 23, 2022 Author Share Posted February 23, 2022 non, mais il n'est pas indiqué "en rupture" textuellement, c'était pour illustrer les différents statuts dans mon propos. Il est bien indiqué le "nombre de jours" quand c'est en rupture. Link to comment Share on other sites More sharing options...
Eolia Posted February 23, 2022 Share Posted February 23, 2022 Alors c'est quoi le problème ? Parce que le titre du post est Citation Quantité de produits en stock indiqué dans le mail de confirmation de commande. {product} et le descriptif Le 16/02/2022 à 5:04 PM, jujutte24 a dit : Lorsqu'un client commande le dernier produit en stock, dans le tableau du mail de confirmation de commande, il est indiqué "en rupture". En gros, il achète le dernier produit, et le mail est généré après son achat (quasi simultanément, mais après). Donc en vérifiant les stocks pour générer le mail, la variable le trouve à zéro. Comment modifier ça pour que le mail indique "en stock" au lieu de "en rupture" ? Donc ça n'affiche jamais "En rupture" Si vous voulez que ça affiche toujours "En stock" il suffit de commenter cette partie /* if (Module::isInstalled('blockloichatel')) { if (!class_exists('ManufacturerModel', false)) include_once (_PS_ROOT_DIR_ . '/modules/blockloichatel/class/manufacturermodel.php'); if (($productQuantity - (int)($product['cart_quantity'])) < 0) { $product_dispo_datas = ManufacturerModel::getManufacturerRuleByProduct($product['id_product']); $product_dispo = $product_dispo_datas <= 0 ? $product_dispo : $product_dispo_datas.' jour(s)'; } } */ /* End Loi Chatel */ Link to comment Share on other sites More sharing options...
jujutte24 Posted February 23, 2022 Author Share Posted February 23, 2022 Sur le site, la quantité des produits en stock est visible. Si le client commande 1 produit et qui est en quantité "1" en stock, le mail de confirmation de commande qui généré en suivant est erroné. C'est donc le dernier produit. Le mail de confirmation de commande devrait indiqué "en stock". Mais il indique le délai d'attente des produits de ce fabricant, comme si il était en rupture. Alors qu'il devrait indiqué qu'il est en stock. Ce qu'il se passe (je pense) c'est que le mail est généré après l'achat, donc la variable interroge le stock pour envoyer l'info par mail après l'achat. Et donc stock à 0 C'est donc peut-être là : $product_dispo = $product_dispo_datas <= 0 ? $product_dispo : $product_dispo_datas.' jour(s)'; qu'il faut modifier la variable ? Link to comment Share on other sites More sharing options...
Eolia Posted February 23, 2022 Share Posted February 23, 2022 Ok, je t'ai changé le code. De mémoire on avait mis ça en place pour les ventes autorisées hors-stock, car là, ça va fonctionner pour le 1er mais dès la 2ème commande hors-stock ils auront le délai en jours. 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