【问题标题】:How to prevent executing php onclick function without clicking with smarty如何防止执行php onclick函数而不用smarty点击
【发布时间】:2014-06-17 07:53:49
【问题描述】:

我需要一些有关 prestashop 模板的帮助。我想要实现的是,当客户点击一个链接时,它应该从我的模型中调用一个 php 函数,将产品添加到购物车中。

但是无论是否点击链接,似乎都会执行该功能。一旦链接被“读取”(我猜是 Smarty),它就会被执行。我怎样才能防止这种情况,只有在点击链接时才执行该功能?

您可以在下面找到我的模板代码。

提前致谢

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

h3标签只在这里显示我购物车中的产品数量,最后一个总是比其他标签多显示1个。

【问题讨论】:

    标签: onclick smarty prestashop prestashop-1.6


    【解决方案1】:

    您应该放置在 onclick Javascript 函数中,而不是 PHP/Smarty 调用中。

    在 Javascript 函数中,您应该例如使用 AJAX 启动 url,其中有一个将产品添加到购物车的脚本。

    如果你想实现它,你需要学习 Javascript/AJAX。仅使用 Smarty 和 PHP,您将无法做到这一点。

    【讨论】:

    • 感谢我在 2 分钟前读到 smarty 在显示代码之前实际上会执行代码,所以我将使用 ajax。
    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    • 2019-09-10
    • 2017-12-28
    • 1970-01-01
    相关资源
    最近更新 更多