Eutanasio Posted May 28, 2020 Share Posted May 28, 2020 Bonjour, Je viens de voir que ce module ne s'active dans la page produit que si le produit est hors stock et sans possibilité de commander. J'ai mon catalogue configuré pour accepter des produits sur commande, donc ça sera intéressant d'avoir ce module d'alertes active toujours qu'un produit n'a pas du stock, même si c'est commandable. Comment serait-il possible de le faire? Merci Link to comment Share on other sites More sharing options...
doekia Posted May 28, 2020 Share Posted May 28, 2020 Le module à pour but de prévenir un client lorsqu'il pourra commander. Il n'a donc aucun intérêt si tu peux déjà commander... logique non? Link to comment Share on other sites More sharing options...
Eutanasio Posted May 28, 2020 Author Share Posted May 28, 2020 oui, logique pour les cas où vous avez un catalogue avec des règles pour ne pas commander que si le produit est en stock, mais pas pour les autres cas. Nous avons un catalogue avec beaucoup de produits sur commande la plupart du temps et on accepte la vente sur commande pour qu'un client peut reserver un produit en avance. Notre problème c'est que beaucoup des clients ne veulent pas attendre, ne veulent pas en faite payer et attendre et préfèrent être avisés des que le produit soit disponible à nouveau, chose qu'on ne peut pas contrôler et ça sera mieux de l'automatiser. Peut être il faut tout simplement changer quelque chose dans le tpl du module pour s'activer toujours qu'un produit soit en rupture du stock (donc niveau du stock <= 0) Merci Link to comment Share on other sites More sharing options...
P i l o u Posted May 29, 2020 Share Posted May 29, 2020 Salut, Pour un Ps 1.6, il faut modifier le code de mailalerts.php en remplaçant: public function hookActionProductOutOfStock($params) { if (!$this->customer_qty || !Configuration::get('PS_STOCK_MANAGEMENT') || Product::isAvailableWhenOutOfStock($params['product']->out_of_stock)) return; par public function hookActionProductOutOfStock($params) { if (!$this->customer_qty || !Configuration::get('PS_STOCK_MANAGEMENT')) return; Link to comment Share on other sites More sharing options...
doekia Posted May 29, 2020 Share Posted May 29, 2020 Ton raisonnement se mord la queue. Si le client ne passe pas commande et attend que tu mettes du stock, comme tu n'en as pas et attend la commande pour t'approvisionner, et bien il n'y aura pas de stock ... Link to comment Share on other sites More sharing options...
Eutanasio Posted May 29, 2020 Author Share Posted May 29, 2020 26 minutes ago, doekia said: Ton raisonnement se mord la queue. Si le client ne passe pas commande et attend que tu mettes du stock, comme tu n'en as pas et attend la commande pour t'approvisionner, et bien il n'y aura pas de stock ... Si vous allez pas aider, merci svp de tout simplement ne pas participer, vous évitez que d'autres apportent des solution à mon problème. Si le client ne passe pas des commandes parce que voie les produits sur commande on risque à perte les ventes, parce qu'ils ne vont plus continuer à visiter le site pour voir s'il revient ou non en stock un jour. Par contre si vous les envoyez une notification, vous les rappelez de l'existence de votre site et un produit qui lui intéresse et comme ça on peut récupérer un client Merci beaucoup @Pilou je vais y essayer et revenir vers vous! Link to comment Share on other sites More sharing options...
doekia Posted May 29, 2020 Share Posted May 29, 2020 Il y a 2 heures, omar2886 a dit : Si vous allez pas aider, merci svp de tout simplement ne pas participer, vous évitez que d'autres apportent des solution à mon problème. Bien sûr, où avais-je la tête. Link to comment Share on other sites More sharing options...
P i l o u Posted May 30, 2020 Share Posted May 30, 2020 @doekia je crois que l'idée est, sur un article dont le stock est à zéro, le client inscrit son adresse email et reçoit un mail quand le stock repasse au-dessus de zéro. 1 Link to comment Share on other sites More sharing options...
La vie en Rose Posted December 5 Share Posted December 5 Je déterre le sujet, il serait en effet intéressant de pouvoir choisir si le client peut être alerté que le produit soit commandable hors stock ou non. Je viens de basculer tout mon catalogue en commandable même en hors stock, et ajouté un flag sur les produits qui indique alors que le produit est en précommande. Mais en effet certains clients préfèrent ne pas "avancer" d'argent sans être sûr que le produit arrive, ni de quand il arrivera. De plus, des clients boutique (en magasin physique), souhaitent être prévenus de l'arrivé de produits en stocks, ce qui n'est pas possible de base car commandable hors stock. Je cherche une solution pour presta 8, si quelqu'un avait une piste 😉 Link to comment Share on other sites More sharing options...
La vie en Rose Posted December 5 Share Posted December 5 (edited) Trouvé, pour ceux qui sont sous presta 8 et qui voudraient activer les alertes emails des produits hors stock même si commande autorisé, ça se passe dans ps_emailalerts.php qui se trouve dans /module/ps_emailalerts vers la ligne 618 : public function hookDisplayProductAdditionalInfo($params) { if ($params['product']['minimal_quantity'] <= $params['product']['quantity'] || !$this->customer_qty || !Configuration::get('PS_STOCK_MANAGEMENT') || Product::isAvailableWhenOutOfStock($params['product']['out_of_stock'])) { return; } Il suffit de commenter || Product::isAvailableWhenOutOfStock($params['product']['out_of_stock'])) ce qui donne : public function hookDisplayProductAdditionalInfo($params) { if ($params['product']['minimal_quantity'] <= $params['product']['quantity'] || !$this->customer_qty || !Configuration::get('PS_STOCK_MANAGEMENT') /* || Product::isAvailableWhenOutOfStock($params['product']['out_of_stock'])*/) { return; } Sinon, un override fonctionne aussi et permet la mise à jour sans perdre la modif. Dans /override/modules, faire un dossier ps_emailalerts, et y faire un fichier ps_emailalerts.php avec à l'intérieur : <?php // Fichier : /override/modules/ps_emailalerts/ps_emailalerts.php class ps_emailalertsOverride extends ps_emailalerts { public function hookDisplayProductAdditionalInfo($params) { if ($params['product']['minimal_quantity'] <= $params['product']['quantity'] || !$this->customer_qty || !Configuration::get('PS_STOCK_MANAGEMENT')) { return; } $context = Context::getContext(); $id_product = (int) $params['product']['id']; $id_product_attribute = $params['product']['id_product_attribute']; $id_customer = (int) $context->customer->id; if ((int) $context->customer->id <= 0) { $this->context->smarty->assign('email', 1); } elseif (MailAlert::customerHasNotification($id_customer, $id_product, $id_product_attribute, (int) $context->shop->id)) { $this->context->smarty->assign('has_notification', 1); } $this->context->smarty->assign( [ 'id_product' => $id_product, 'id_product_attribute' => $id_product_attribute, 'id_module' => $this->id, ] ); return $this->display(__FILE__, 'product.tpl'); } } Edited December 5 by La vie en Rose (see edit history) 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