Guru1970 Posted August 20, 2013 Share Posted August 20, 2013 Bonjour, J'aimerai pouvoir avoir l'option de notification par mail dès que le stock est à nouveau disponible sur la page de product-list.tpl J'ai recopié le code du template product.tpl ou cette option existe déjà et collé au bon endroit dans mon product-list.tpl Mon problème c'est qu'il ne m'affiche pas le lien "Prévenez-moi lorsque le produit est disponible" pour la notification. Le code que j'ai copié est " <!-- Out of stock hook --> <p id="oosHook"{if $product->quantity > 0} style="display: none;"{/if}> {$HOOK_PRODUCT_OOS} </p> Faut-il ajouter quelque chose de plus ? Est-ce que il a déjà des personnes qui tenté la chose ? d'avance merci. [spam-filter] Link to comment Share on other sites More sharing options...
fosterdesigns Posted September 30, 2013 Share Posted September 30, 2013 Interested in this too, trying already, can't seem to get it to work. Does it have something to do with hooks? Link to comment Share on other sites More sharing options...
jeleb Posted February 17, 2014 Share Posted February 17, 2014 (edited) Bonjour, Je cherche aussi a attacher le hook $HOOK_PRODUCT_OOS dans la liste des produits je l'ai mis dans le template product-list.tpl mais la variable est vide Donc il doit manquer un truc style declaration de la variable dans un controlleur mais je ne trouve pas ou J'ai trouve des solutions pour prestashop 1.4 mais pas 1.5 Une idee ? Merci JeLeB Edited February 17, 2014 by jeleb (see edit history) Link to comment Share on other sites More sharing options...
jeleb Posted February 18, 2014 Share Posted February 18, 2014 (edited) Bon. J'ai trouve une piste : C'est pas le controller ProductController.php qu'il faut modifier c'est le controleur CategoryController.php Dans product-list.tpl on ajoute : <div id="oosHook"{if $product->quantity >0} style="display:none;"{/if}> {$HOOK_PRODUCT_OOS} </div> Dans le fichier CategoryController.php (a faire dans l'override) :ajouter dans la fonction initContent() $this->context->smarty->assign(array( 'category' => $this->category, 'description_short' => Tools::truncateString($this->category->description), 'products' => (isset($this->cat_products) && $this->cat_products) ? $this->cat_products : null, 'id_category' => (int)$this->category->id, 'id_category_parent' => (int)$this->category->id_parent, 'return_category_name' => Tools::safeOutput($this->category->name), 'path' => Tools::getPath($this->category->id), 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'categorySize' => Image::getSize(ImageType::getFormatedName('category')), 'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')), 'thumbSceneSize' => Image::getSize(ImageType::getFormatedName('m_scene')), 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), 'allow_oosp' => (int)Configuration::get('PS_ORDER_OUT_OF_STOCK'), 'comparator_max_item' => (int)Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'HOOK_PRODUCT_OOS' => Hook::exec('actionProductOutOfStock', array('product' => $this->product)), 'suppliers' => Supplier::getSuppliers() )); Ca ajoute le hook HOOK_PRODUCT_OOS dans la liste des produits. Mais il reste encore deux soucis majeurs : - $this->product n'est pas defini dans cette classe - Le code du module mailalert est fait pour un produit dans la page. Donc je vais inserer x fois le script JS qui fonctionne sur un produit et pas sur une liste de produits Il reste de nombreuses modifications a faire pour que ca fonctionne correctement avec mailalert dans la liste des produits. Pour moi, vu le nombre de produits que je gere (une dizaine de produits, dont deux peuvent etre concernes), je ne vais pas faire ces modifications Si il y a un courageux ! :-) JeLeB Edited February 18, 2014 by jeleb (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts