Jump to content

Edit History

JulienPct

JulienPct

4 minutes ago, Mediacom87 said:

Un hook est appeler à chaque fois il suffit de choisir dans le code de traitement du hook quand afficher ce que tu veux.

Tous les hooks sont appelés au chargement de la page ? En sois mon module marche, le problème est que, pour une raison inconnue, il casse l'Ajax du panier.

En gros mon hook affiche juste un texte si un utilisateur rentre un certains produit dans le panier. Cependant, à partir du moment où j'ajoute ce produit OU si il est dans mon panier, l'Ajax ne fonctionnera pas pour les autres ajout panier.

Par contre, dès que j'enlève ce produit de mon panier, l'Ajax marche pour tous les produits sauf ce premier.

 

Code du hook en question (PS 1.7.8) :

public function hookDisplayMessageCart() {
        $context = Context::getContext();
        $id_product_elite_card = '5';

        $cart = new Cart($context->cart->id);
        $cartProducts = $cart->getProducts();

        $id_customer = $cart->id_customer;

        $message = "Vous avez ajouté la carte élite dans votre panier. Afin de bénéficier immédiatement de ses avantages, veuillez créer un compte et vous y connecter avant de passer la commande.";

        foreach ($cartProducts as $cartProduct){
            if ($id_customer == 0 && $cartProduct["id_product"] === $id_product_elite_card) {
                $this->context->smarty->assign(['message' => $message]);
                return $this->context->smarty->fetch($this->local_path.'views/templates/front/cartMessage.tpl');
            }
        }
        $this->context->smarty->assign(['message' => ""]);
        return $this->context->smarty->fetch($this->local_path.'views/templates/front/cartMessage.tpl');
    }

 

JulienPct

JulienPct

4 minutes ago, Mediacom87 said:

Un hook est appeler à chaque fois il suffit de choisir dans le code de traitement du hook quand afficher ce que tu veux.

Tous les hooks sont appelés au chargement de la page ? En sois mon module marche, le problème est que, pour une raison inconnue, il casse l'Ajax du panier.

En gros mon hook affiche juste un texte si un utilisateur rentre un certains produit dans le panier. Cependant, à partir du moment où j'ajoute ce produit OU si il est dans mon panier, l'Ajax ne fonctionnera pas pour les autres ajout panier.

Par contre, dès que j'enlève ce produit de mon panier, l'Ajax marche pour tous les produits sauf ce premier.

 

Code du hook en question :

public function hookDisplayMessageCart() {
        $context = Context::getContext();
        $id_product_elite_card = '5';

        $cart = new Cart($context->cart->id);
        $cartProducts = $cart->getProducts();

        $id_customer = $cart->id_customer;

        $message = "Vous avez ajouté la carte élite dans votre panier. Afin de bénéficier immédiatement de ses avantages, veuillez créer un compte et vous y connecter avant de passer la commande.";

        foreach ($cartProducts as $cartProduct){
            if ($id_customer == 0 && $cartProduct["id_product"] === $id_product_elite_card) {
                $this->context->smarty->assign(['message' => $message]);
                return $this->context->smarty->fetch($this->local_path.'views/templates/front/cartMessage.tpl');
            }
        }
        $this->context->smarty->assign(['message' => ""]);
        return $this->context->smarty->fetch($this->local_path.'views/templates/front/cartMessage.tpl');
    }

 

JulienPct

JulienPct

Just now, Mediacom87 said:

Un hook est appeler à chaque fois il suffit de choisir dans le code de traitement du hook quand afficher ce que tu veux.

Tous les hooks sont appelés au chargement de la page ? En sois mon module marche, le problème est que, pour une raison inconnue, il casse l'Ajax du panier.

En gros mon hook affiche juste un texte si un utilisateur rentre un certains produit dans le panier. Cependant, à partir du moment où j'ajoute ce produit OU si il est dans mon panier, l'Ajax ne fonctionnera pas pour les autres ajout panier.

Par contre, dès que j'enlève ce produit de mon panier, l'Ajax marche pour tous les produits sauf ce premier.

×
×
  • Create New...