我更改了代码,请按照http://www.magentocommerce.com/boards/viewthread/197868/进行操作 用户将商品添加到购物车时将商品保留在心愿单中。 但如果用户将全部添加到购物车而不是每个项目。所有产品将从愿望清单中删除。 我想把它保存在心愿单中。有谁知道如何解决它? 我尝试打开app \ code \ core \ Mage \ Wishlist \ Controller \ Abstract.php并注释掉行 $本期特价货品>删除(); 但没什么更好的。 我赞美你的帮助。
答案 0 :(得分:0)
也是这样想的,但是发现删除发生在Mage_wishlist_Controller_Abstract
的第108行
// Add to cart
if ($item->addToCart($cart, $isOwner)) {
$addedItems[] = $item->
}
在您的愿望清单中, $ isOwner 设置为 true ,这就是您的商品被删除的原因。 设置 $ isOwner 设置为 false 以停止删除项目
答案 1 :(得分:0)
试试这个,
第1步:
将wishlist中的allitems添加到购物车时,无法重写抽象文件。所以从
复制文件应用\代码\核心\法师\收藏\控制器\ Abstract.php
到
应用\代码\本地\法师\收藏\控制器\ 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项目即使在添加到购物车后也会保留。
请参阅此link
答案 2 :(得分:0)
我解决此问题的方法而不是覆盖或编辑抽象的核心文件(如一些评论所建议的)是我改写了愿望清单控制器:
AssemblyLoadContext
如果您查看Mage/Wishlist/controllers/IndexController.php
函数,则会发现以下行cartAction
。此处发送的第二个参数决定是否应从愿望清单中删除商品。如果您在重写控制器中将此选项设置为false,即使将其添加到购物车中,这些项目也将保留在愿望清单中。