IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

PS 1.7 fonctionnement du hook actionProductSave


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut PS 1.7 fonctionnement du hook actionProductSave
    Bonjour à tous,

    J'ai construit un petit module BO qui doit permettre d'updater quelques tables quand l'admin modifie ou ajoute un produit. En l'occurrence quand un produit passe en dématérialisé, il faut mettre les champs minimal_quantity à 0 et available_for_order à 1 (parce que PS ne le fait pas automatiquement et l'admin oublie dans 99% des cas, donc le produit est déclaré "rupture de stock" ce qui fait tâche pour un téléchargeable

    Pour ce module tout bête, j'ai utilisé le hook actionProductSave

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        public function install() {
            if (!parent::install() 
                   // Install Sql du module
    		|| !$this->registerHook('header')
                    || !$this->registerHook('actionProductSave') 
     
            ) {
                return false;
            }
     
            return true;
        }
    et dans la fonction, mes 3 requêtes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $id_product = $params['id_product'];
    $is_virtual = $params['product']->is_virtual;
    if($is_virtual == 1){
    Db::getInstance()->execute("UPDATE "._DB_PREFIX_."product SET minimal_quantity ='0', available_for_order = '1' WHERE id_product = '".$id_product."'");
    Db::getInstance()->execute("UPDATE "._DB_PREFIX_."product_shop SET available_for_order = '1', minimal_quantity = '0' WHERE id_product = '".$id_product."'");
    Db::getInstance()->execute("UPDATE "._DB_PREFIX_."stock_available SET quantity = '0', out_of_stock = '1' WHERE id_product = '".$id_product."'");
    }
    Résultat ? A la modif du produit, les 2 dernières s'exécutent nickel, mais pas la 3ème sur la table stock_available.
    Et la requête est bonne, pas d'erreur: je me la suis envoyé par mail via le hook et l'ai testée dans myAdmin: no blem.
    J'ai tenté les hooks actionProductUpdate et actionProductOutOfStock mais c'est pareil.
    Pourquoi ce hook refuse-t-il cette requête ?


  2. #2
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    En fait j'aimerais que quelqu'un me dise quel est le fichier qui gère le hook natif actionProductSave qui est appelé dans la méthode update de la classe Product:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Hook::exec('actionProductSave', array('id_product' => (int)$this->id, 'product' => $this));
    Car je pense que cette action agit "en dernier" sur la table ps_stock_available...

Discussions similaires

  1. [Vista, Fwk 2.0] Hook souris local ne fonctionnant pas
    Par olsimare dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/11/2012, 16h28
  2. Hook souris qui ne fonctionne pas partout
    Par thenaoh dans le forum Windows
    Réponses: 5
    Dernier message: 01/10/2010, 00h57
  3. [C#] Hook Clavier qui ne fonctionne pas
    Par NeoKript dans le forum C#
    Réponses: 5
    Dernier message: 18/12/2009, 14h50
  4. [Turbo Pascal] TP7 fonctionne en QWERTY
    Par callahan dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 08/02/2003, 21h49
  5. Fonctionnement de la compression DivX
    Par Rodrigue dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 20/09/2002, 14h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo