当用户将商品添加到购物车时,我会按照此http://www.magentocommerce.com/boards/viewthread/197868/更改代码以将商品保留在愿望清单中。但是如果用户将所有内容添加到购物车而不是每个项目。所有产品将从愿望清单中删除。我想把它保留在愿望清单中。有谁知道如何解决它?我尝试打开 app\code\core\Mage\Wishlist\Controller\Abstract.php 并注释掉 $item->delete(); 但没有比这更好的了。我会感谢你的帮助。
3 回答
也考虑过,但发现删除发生在第 108 行Mage_wishlist_Controller_Abstract
// Add to cart
if ($item->addToCart($cart, $isOwner)) {
$addedItems[] = $item->
}
在您的愿望清单中,$isOwner设置为true,这就是您的项目被删除的原因。set $isOwner设置为false以停止删除项目
尝试这个,
步骤1:
将愿望清单中的所有项目添加到购物车时,无法重写抽象文件。所以从
app\code\core\Mage\Wishlist\Controller\Abstract.php
至
app\code\local\Mage\Wishlist\Controller\Abstract.php
然后在里面找Abstract.php
if ($item->addToCart($cart, $isOwner)) {
$addedItems[] = $item->getProduct();
}
设置$isOwner
为false
。将代码更新为
$isOwner = false;
if ($item->addToCart($cart, $isOwner)) {
$addedItems[] = $item->getProduct();
}
第2步:
将愿望清单中的单个项目添加到购物车时。请按照以下步骤操作
重写Mage_Wishlist_IndexController
到本地代码池
然后在重写的控制器文件中找到代码
if ($item->addToCart($cart, $isOwner)) {
$addedItems[] = $item->getProduct();
}
将代码更新为
$isOwner = false;
if ($item->addToCart($cart, $isOwner)) {
$addedItems[] = $item->getProduct();
}
现在,即使添加到购物车,wislist 项目也会保留。
参考这个链接
我解决这个问题的方法不是像一些评论那样覆盖或编辑抽象核心文件,而是改写了 Wishlist 控制器:
Mage/Wishlist/controllers/IndexController.php
如果您查看该cartAction
功能,您会发现以下行$item->addToCart($cart, true);
。此处发送的第二个参数决定是否应从愿望清单中删除该项目。如果您在重写的控制器中将此设置为 false,则即使您将它们添加到购物车,这些物品也会保留在愿望清单中。