Jump to content

récupérer les catégories selectionnées à la création d'un produit


Recommended Posts

Bonjour à toutes et tous

 

Comme l'indique le titre, j'ai besoin de récupérer les catégories qui ont été selectionnées lors de la création d'un produit, pour un traitement spécifique sur certaines catégories.

 

J'essaie de travailler dans les hooks ActionProductSave et ActionObjectProductAddAfter

Mais lors de l’exécution de ces 2 hooks, les catégories ne sont pas encore enregistrées en base de données.

<?php
    public function hookActionObjectProductAddAfter($params) {

        $product = $params['object'];
        $product_categories = $product->getCategories();

        echo('<pre>');
        print_r($product_categories);
        echo('</pre>');
        die();

Ceci m'écrit un tableau vide, et le produit que je viens d'ajouter n'apparait pas dans la table category_product.

Même résultat avec ActionProductSave

 

En revanche lors de la modification d'un produit, si je fais la même chose dans hookActionObjectProductUpdateAfter, tout fonctionne bien.

 

Y'a-t-il un hook qui intervient en toute fin d'enregistrement d'un nouveau produit ?

Merci

 

Link to comment
Share on other sites

Effectivement, j'ai bien les catégories sélectionnées avec cette méthode, merci Okom3pom !

 

Le problème c'est que le traitement que je fais ensuite se retrouve écrasé par la suite de l'enregistrement du produit.

J'ai vraiment besoin d'agir en toute fin d'enregistrement du produit, pour qu'il ne se passe plus rien derrière.

Link to comment
Share on other sites

Merci okom3pom

Tout fonctionne bien maintenant, à la création d'un produit.

 

Le problème que je rencontre maintenant est lors de la modification.

J'ai essayé les hooks actionProductUpdate et hookActionObjectProductUpdateAfter

 

Dans mon traitement, je veux imposer les transporteurs pour les produits de certaines catégories

Je fais donc dans mon hook

$product->setCarriers($carriers);

Et ça fonctionne de manière très aléatoire.

Lors de mes tests, 4 fois sur 5 c'est ok, puis ça ne fonctionne plus.

Je pense qu'il y a un setCarriers qui repasse derrière, après exécution de mon hook.

Mais ce n'est pas systématique

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...