【问题标题】:cs-cart send custom value to add-to-cartcs-cart 将自定义值发送到添加到购物车
【发布时间】:2015-08-13 07:49:20
【问题描述】:

我正在 cs-cart 中开发一个项目。 cs-cart 使用 smarty PHP 模板引擎,我知道它在服务器上运行。现在,为了网站的需要,我想根据它的大小来计算里面的产品(地毯)的价格!到目前为止,我已经插入了两个输入类型的文本。用户插入地毯的尺寸(宽度-高度),我使用 javascript 计算它的价格:

function func() {
    var metro_timi = 10;
    var x = document.getElementById('mikos');
    var y = document.getElementById('platos');
    var timi = x.value * y.value * metro_timi;
    alert("Η τιμή του χαλιού σας είναι: " + timi + "€");

    document.getElementById("price_metro").value = timi;
}

现在,我希望将此价格发送到“添加到购物车”按钮。任何想法,指导或帮助将不胜感激!谢谢

【问题讨论】:

    标签: php smarty cs-cart


    【解决方案1】:

    在添加到购物车的过程中,您必须使用钩子。 CS-Cart 将购物车内容存储在 $_SESSION['cart'] 数组中。产品相关的东西存放在$_SESSION['cart']['products']数组中。

    fn_add_product_to_cart() 函数用于将任何产品按核心添加到购物车。它有很多钩子,你可以连接: pre_add_to_cartadd_product_to_cart_check_priceadd_to_cartpost_add_to_cart。 你可以在这里阅读更多关于钩子的信息:http://docs.cs-cart.com/4.2.x/addons/hooking/php_hooks.html 你可以在这里探索钩子参数:http://www.cs-cart.com/api

    【讨论】:

    • 好的..我明白你的意思,但我需要更多帮助!我对附加组件不是很熟悉,尽管我创建了一个简单的附加组件。我在文件 default_template.tpl 中工作(该文件引用产品模板)。根据您的链接:我已经创建了目录 app/addons/carpets 在这个目录中我添加了以下文件:
    • addon.xml carpets1.0carpets 地毯价格100 init.php func.php 我应该修改什么,才能发送通过 javscript 计算的新价格?非常感谢
    【解决方案2】:

    您可以在模板中添加以下隐藏输入:

     <input type="hidden" name="product_data[{$obj_id}][calculated_price]" value="" id="calculated_price_{$obj_id}" />
    

    然后只需将以下行添加到您的 javascript 代码中:

    $('#calculated_price_{$obj_id}').val(timi);
    

    因此,如果使用 pre_add_to_cart 钩子,计算的数据将显示在 $product_data 数组中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-24
      • 1970-01-01
      • 2015-12-04
      • 1970-01-01
      • 2021-01-21
      • 2017-10-14
      • 2018-05-18
      相关资源
      最近更新 更多