如何在一页上选择产品数量并将值传递给 cart.php

Posted

技术标签:

【中文标题】如何在一页上选择产品数量并将值传递给 cart.php【英文标题】:How to select a product quantity on one page and pass value to cart.php 【发布时间】:2012-07-29 14:06:38 【问题描述】:

假设在首页您有一个促销部分,可让您增加/减少所需产品的数量,然后它会自动为您计算价格。我添加了一个带有

的 href 的按钮
 <?php echo get_home_url(); ?>/shop/?add-to-cart=9

将单个产品添加到您的购物车,并带您到 cart.php,您可以在其中增加或减少数量。

我可以做什么,或者我可以采取什么方向,将首页数量传递给 cart.php 数量?

比如我的首页代码是这样的:

http://jsfiddle.net/7BDwP/811/

【问题讨论】:

【参考方案1】:

它唯一的支持是:(通过 URL)

?add-to-cart=variation&product_id=1100

所以你需要制作一个隐藏的表单元素,叫做 Qty:

<input name="quantity" data-min="1" data-max="0" value="1" size="4" title="Qty" class="input-text qty text" maxlength="12">

但既然你有不止一个。你会做的

<form action="/shop/?add-to-cart=variation&amp;product_id=1100" class="variations_form cart" method="post" enctype="multipart/form-data">

Size
<select>
<option value="">Choose an option…</option>
<option value="large">Large</option>
<option value="medium">Medium</option>
<option value="small" selected="selected">Small</option>
<option value="x-large">X-Large</option>
</select>

Colour
<select id="pa_colour" name="attribute_pa_colour" style="opacity:0">
<option value="">Choose an option…</option>
<option value="black" selected="selected">Black</option>
</select>

<input type="hidden" name="variation_id" value="1104">

<input name="quantity" data-min="1" data-max="0" value="1"
size="4" title="Qty" class="input-text qty text" maxlength="12">

<button type="submit" class="button alt">Add to cart</button>
<input type="hidden" name="product_id" value="1100"></div>

</form>

只要确保您的IdsNames 是唯一的,创建一个更新Qty 值的jQuery Ajax 字段。您只能通过表单方法提交,除非您编辑核心 PHP 值并允许 REQUEST 而不是 GET

【讨论】:

【参考方案2】:
$(document).ready(function()

    var base_url = <?php echo get_home_url(); ?>;

    $('#product').change(function()
        $('#result').text($(this).val() * 25.99);
        // add this to change the href.  Should really use an ID selector but for your example this works
        $('a').attr('href', base_url+'/shop/?add-to-cart=9&qty='+$('#product').val());
    );    
);

【讨论】:

感谢您的回答。添加“&qty=X”似乎根本不会影响cart.php,即使我手动添加。 好像少了一个步骤。我错误地认为 href 指向的是 cart.php。您还需要将 $_REQUEST['qty'] 从 (index.php?) 脚本调用的任何页面传递给 cart.php。在该页面中查找 add-to-cart 变量以查看它是如何传递的。

以上是关于如何在一页上选择产品数量并将值传递给 cart.php的主要内容,如果未能解决你的问题,请参考以下文章

在一列上选择 DISTINCT

SQL - 仅在一列上选择不同的[重复]

在一列上选择不同并返回所有其他列

在一列上选择 DISTINCT,返回多个其他列(SQL Server)

在一列上选择 DISTINCT,返回多个其他列(SQL Server)

如何在同一列上选择一些值,然后将剩余值作为 sql 中的新列