为什么我的“添加到购物车”按钮不起作用?

时间:2013-07-08 10:18:02

标签: php html e-commerce

我的网站使用私人电子商务系统,不幸的是,虽然他们的支持团队非常有帮助,但他们并不特别支持“自定义代码”,例如我需要的代码。

我正在尝试配置一个“启动”页面(在用户完成订单之前弹出),这使用户有机会购买我们的一件半价T恤,并带有“添加到购物车”允许他们从启动页面中将其添加到购物车中。

我曾尝试从标准产品页面复制代码,但遗憾的是按钮无法正常工作,而只是链接到“#”(可在下面的代码中看到)。

<form action="includes/cart/add_to_cart.inc.php" method="get" name="addcartform" id="addcartform" onsubmit="return false;">   
<!-- Important hidden inputs -->
<input type="hidden" id="js" name="js" value="false" />
<input type="hidden" id="product_id" name="product_id" value="{product:id}" />
<a id="add_to_cart" style="display:none;" href="#" onclick="{product:add_to_cart_js}" class="generated_button" title="Add To Cart" >
<img src="images/icons/cart_add.png" align="absmiddle" />
<span> Add To Cart </span> </a>
<noscript>
<!-- non javascript -->
<input class="generated_button"  type="submit" value="Add To Cart" name="submit" id="cart_submit" />
</noscript>

将代码放入后,我将链接的“显示”更改为“inline-block”(以便显示),我还尝试输入我希望用户添加到他们的产品的ID购物车在这里:

id="product_id" name="product_id" value="{product:id}"

不幸的是,这一切都没有用,而且由于我没有完全(或轻松)访问我需要的所有文件,所以我非常感谢您解决这个问题的任何帮助!

提前致谢, 丹

更新:我们的电子商务系统背后的支持团队已经向我发送了这段代码以提供帮助,但我不完全确定如何使用它:

  

如果您想通过javascript进行更多控制,可以使用我们提供的核心购物车对象&gt;在javascript中。它可通过(私人电子商务系统)命名空间访问,并在   事实上,如果您在(私人电子商务系统)网站中打开控制台并输入(私人&gt;电子商务系统)并点击输入,它将向您返回核心的哪些部分&gt;到目前为止,我们在javascript中为您提供的系统,(这将增加   时间也是如此)。   (私人电子商务系统).Cart对象有一个sub addItem()方法/函数,可以在这里使用。

     

您可以将产品ID传递给购物车:(例如,添加ID为#52的产品)       Cart.addItem(52);   或者您可以将这些完整选项传递给它:

Cart.addItem({
productId: 52,
qty: 1,
options: {},
wishlistId: 0,
extraData: "Some detail i want to show to the user"
}, function () {
console.log('This is the callback for when its complete!');
});
  

因此,如果他们添加按钮或链接,他们可以使用jQuery设置单击该按钮来运行该代码,例如

jQuery(function ($) {
$('.some-button').on('click', function () {
    Cart.addItem(52);
    return false;
});
});

1 个答案:

答案 0 :(得分:1)

如果您更换Javascript按钮并将其替换为无脚本输入字段,该怎么办?

<form action="includes/cart/add_to_cart.inc.php" method="get" name="addcartform" id="addcartform" onsubmit="return false;">   
<!-- Important hidden inputs -->
<input type="hidden" id="js" name="js" value="false" />
<input type="hidden" id="product_id" name="product_id" value="{product:id}" />
<input class="generated_button"  type="submit" value="Add To Cart" name="submit" id="cart_submit" />
<img src="images/icons/cart_add.png" align="absmiddle" />
<span> Add To Cart </span>
</form>

您可能需要重新设置表单字段的样式以及显示“添加到购物车”的<span>以使其正常显示...

<强>更新

根据支持团队提供的信息,请尝试将其放入“启动页面”,而不是上面的表单。

<div>
<script>
function addTshirtToCart(){
    /* Swap out the 34 for the actual product ID of the tshirt you want to
       add to the basket */
    Cart.addItem(34);
    // You might also want some code here to close the "splash page"
    return false;
}
</script>
<a href="#" id="add_to_cart" onclick="return addTshirtToCart();">
    <img src="images/icons/cart_add.png" align="absmiddle" />
    <span> Add To Cart </span>
</a>
</div>

更新2:

将我现有的div替换为我的第二个答案,并将其替换为适用于我的内容:

<form action="includes/cart/add_to_cart.inc.php" method="get" name="addcartform" id="addcartform" onsubmit="return false;">
    <input type="hidden" id="js" name="js" value="false">
    <input type="hidden" id="product_id" name="product_id" value="1618">

    <a id="add_to_cart" style="" href="#" onclick="update_cart_content(); return false;" class="generated_button" title="Add To Cart">
    <img src="images/icons/cart_add.png" align="absmiddle">
    <span> Add To Cart </span> </a>
    <noscript>
        <input class="generated_button" type="submit" value="Add To Cart" name="submit" id="cart_submit"/>
    </noscript>
</form>

更新3

要在将T恤添加到购物车时关闭弹出窗口,请尝试将其放在上面的a元素中:

onclick="update_cart_content(); spashBox.close(); return false;"