Jump to content

Module dev : hookActionProductUpdate not working ?


Recommended Posts

Salut à tous,
 

Je développe actuellement mon premier module Prestashop 1.6.0.8. Le principe consiste à ajouter une nouvelle tab dans l'administration d'un produit (hookDisplayAdminProductsExtra), ce qui a été réalisé sans problème.
Mon template s'affiche au chargement de l'onglet, les bases de données sont crées à l'install du module, etc.

 

Ce template affiche pour le moment essentiellement un champs input qui gère une donnée stockée dans la base. Celle-ci est bien affichée, mais je n'arrive pas à mettre à jour cette valeur dans la base.

 

Il semblerait que ma fonction hookActionProductUpdate n'est pas appelée... le script n'est pas éxécuté. J'ai essayé de tracer avec un error_log ou avec un exit(), mais rien n'y fait.
 

public function hookActionProductUpdate($params) {
        $id_product = Tools::getValue('id_product');
        error_log('hookActionProductUpdate');
        $fdbBundleObj = ObjectModel::loadByIdProduct($id_product);
        var_dump($fdbBundleObj);
        $fdbBundleObj->qty_max = Tools::getValue('fdbab_qty_max');
        $fdbBundleObj->id_product = $id_product;
        if(!empty($fdbBundleObj) && isset($fdbBundleObj->id_product)){
            $fdbBundleObj->update();
        } else {
            $fdbBundleObj->add();
        }
    }

Auriez-vous une idée ?

 

Merci d'avance

Edited by geckoWebdesign (see edit history)
Link to comment
Share on other sites

  • 1 year later...

Bonjour,

 

J'ai eu le même problème avec prestashop 1.6.1.3 en commençant à développer mes premiers modules.

Bien que l'onglet s'affiche bien sur le formulaire produit le hook hookActionProductUpdate n'est pas appelé malgré les désinstallation et réinstallation multiple ainsi que suppression du class_index.php et même vidage du cache par le bo juste au cas ou.

Pour en venir à bout j'ai vérifié que mes deux autres hook étaient bien dans la table ps_hook_module alors que le 14 qui correspond au hookActionProductUpdate n'y était pas puis je l'ai ajouté manuellement en base.

 

C'est pas la gloire mais sa permet d'avancer, je ne sais pas pourquoi le hook ne s'ajoute pas depuis l'install comme les deux autres, ci-dessous le code de l'install :

        if (!parent::install() ||
            !$this->registerHook('displayAdminProductsExtra') ||
            !$this->registerHook('actionProductUpdate') ||
            !$this->registerHook('displayFooterProduct')
        ) {
            return FALSE;
        }

        return TRUE;

Bonne continuation

Edited by bruno teboul (see edit history)
Link to comment
Share on other sites

  • 4 weeks later...

I am also facing the issue that the hookActionProductUpdate does not get called in backoffice.

 

It happens in a upgraded store, a fresh installed one does not have the issue.

 

I also checked the Database, and there are the correct entries for the hook id 14 and the regarding module id.

 

Any steps to figure out why the hook does not get called?

 

Regards

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...