如何在一页上选择产品数量并将值传递给 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&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>
只要确保您的Ids
和Names
是唯一的,创建一个更新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 Server)