2014-06-17 1 views
0

J'ai besoin d'aide avec un template sur prestashop. Ce que j'essaye de réaliser est que quand le client clique sur un lien, il devrait appeler une fonction de php de mon modèle qui ajoute un produit au chariot.Comment empêcher l'exécution de la fonction php onclick sans cliquer avec smarty

Mais il semble que la fonction soit exécutée, que le lien soit cliqué ou non. Dès que le lien est "lu" (par Smarty je suppose) il est exécuté. Comment puis-je empêcher cela et n'exécuter la fonction que lorsque le lien est cliqué?

Ci-dessous, vous trouverez le code de mon modèle.

Merci à l'avance

<div class="bloc_bouton_recap"> 
    <h4>Ce produit ne vous convient pas et vous souhaitez reprendre la configuration à zero? <a href="{$link->getModuleLink('formulairemodule')}" name="lien_config" title="Configurateur">Suivez ce lien</a></h4> 
    <h3>nbproduxcts : {$cart->nbProducts()}</h3> 

</div> 
    <div class="bloc_bouton_recap"> 
    <h4>Ajouter ce produit à <a href="{$link->getModuleLink('formulairemodule')}" class="lien_panier" onclick='{Formulaire::addProduitAuPanier($idproduct)}' >votre panier</a></h4> 
    <h3>nbproduxcts : {$cart->nbProducts()}</h3> 
</div> 

Les balises h3 ne sont ici pour afficher la quantité de produits dans mon panier et le dernier affichent toujours 1 plus que les autres.

Répondre

0

Vous devez placer dans la fonction Javascript onclick et pas appel PHP/Smarty.

Dans la fonction Javascript vous devriez alors utiliser par exemple l'URL de lancement AJAX où il y a un script qui ajoute un produit au panier.

Vous devez en savoir plus sur Javascript/AJAX si vous voulez y parvenir. En utilisant seulement Smarty et PHP, vous ne serez pas capable de faire cela.

+0

Merci j'ai lu il ya 2 minutes que smarty exécute effectivement du code avant de l'afficher, donc je vais travailler avec ajax alors. – Kaamyi

Questions connexes