magento解决“购物车移动到收藏夹”不好使

近日基于magento在二次开发一个网站,遇到一个小问题,在用户登录选择商品加入购物车后,在购物车界面的一个“购物车移动到收藏夹”功能不好使,如图:

具体表现是貌似可以添加,添加之后还可以跳转,但是跳转到个人账户页还是没有收藏成功。

解决:找到..\app\design\frontend\base\default\template\checkout\cart.phtml文件,定位到143行,修改

<?php if (Mage::getSingleton('customer/session')->isLoggedIn()): ?>
$('#move-wishlist').click(function() {
var $this = $(this);
var origValue = $this.val();
$('[name*=wishlist]').val(1);
$this.val("<?php echo $this->__('Are added to the favorites');?>...");
$.post('<?php echo $this->getUrl('checkout/cart/updatePost') ?>', $('.cart form').serialize(), function(data){
$('[name*=wishlist]').val(0);
$this.val("<?php echo $this->__('successfully added!');?>");
setTimeout(function() {
$this.val(origValue);
}, 3000);
location.href = '<?php echo $this->getUrl('wishlist'); ?>';
});
});
<?php endif; ?>

修改红色部分代码为 .cartpage form,修改后代码为

<?php if (Mage::getSingleton('customer/session')->isLoggedIn()): ?>
$('#move-wishlist').click(function() {
var $this = $(this);
var origValue = $this.val();
$('[name*=wishlist]').val(1);
$this.val("<?php echo $this->__('Are added to the favorites');?>...");
$.post('<?php echo $this->getUrl('checkout/cart/updatePost') ?>', $('.cartpage form').serialize(), function(data){
$('[name*=wishlist]').val(0);
$this.val("<?php echo $this->__('successfully added!');?>");
setTimeout(function() {
$this.val(origValue);
}, 3000);
location.href = '<?php echo $this->getUrl('wishlist'); ?>';
});
});
<?php endif; ?>

OK,成功!

这个应该是magento的一个小bug,把当前提交表单的类型名写错了。

QQ:563084310

原文地址:https://www.cnblogs.com/xiaoSoldier/p/2581233.html