-
16-10-2019 - |
题
对于用户来说,每次单击“添加要比较”以将产品添加到比较列表中,我想等待页面重新加载似乎太麻烦了,我想使用复选框更改thelink,然后添加一个按钮,然后提交该按钮要比较的产品列表,然后将您发送到该页面。
做这个的最好方式是什么?
编辑:
我将发布我使用的代码,以便其他人将来可以使用它!
在每个产品中,我都有这样的复选框:
<input class="idcompare" type="checkbox" name="idcompare<?php echo $_product->getId();?>" value="<?php echo $_product->getId();?>">Compare
然后,我的表格带有将我发送到比较页面的按钮:
<form id="comparelist">
<button type="button" title="<?php echo $this->__('Compare') ?>" class="button"><span><span><?php echo $this->__('Compare') ?></span></span></button>
</form>
我的JS将改变动作并提交表格! (我知道不是很优雅,但它起作用):
jQuery(document).ready(function() {
jQuery('#comparelist .button').click(function(){
var i=0;
var prdString="";
var prdString = jQuery.map(jQuery(':checkbox:checked'), function(n, i){
return n.value;
}).join(',');
var url='<?php echo Mage::getUrl('catalog/product_compare/index').'items/'; ?>'+ prdString + '/uenc/';
jQuery('#comparelist').attr('action', url);
jQuery('#comparelist').submit();
});
});
解决方案
为了添加产品以比较您需要以下URL:
<?php echo Mage::getBaseUrl() ?>index.php/catalog/product_compare/index/items/' + productID + '/uenc/'
您可以通过创建产品ID的逗号分开字符串同时添加多个项目以同时进行比较。
看起来像这样:
<?php echo Mage::getBaseUrl() ?>index.php/catalog/product_compare/index/items/10,23,456,8/uenc/'
基于此信息,您可以通过执行以下操作通过复选框设置此信息:
- 创建一个
<form>
- 为您想要比较的每个项目创建复选框
- 设置
id
每个复选框到产品ID - 在复选框的OnClick事件中添加一些JS,该事件添加了
id
到逗号分隔 onSubmit
有form action
到这里:<?php echo Mage::getBaseUrl() ?>index.php/catalog/product_compare/index/items/' + prdString + '/uenc/'