Jump to content

Module Notify me pour quand article à nouveau en stock


Guru1970

Recommended Posts

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

  • 1 month later...
  • 4 months later...

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 by jeleb (see edit history)
Link to comment
Share on other sites

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 by jeleb (see edit history)
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...