点击“全部添加到购物车”后,不要删除所需的愿望清单项目。按钮 - magento

时间:2013-06-11 11:33:29

标签: magento

我更改了代码,请按照http://www.magentocommerce.com/boards/viewthread/197868/进行操作 用户将商品添加到购物车时将商品保留在心愿单中。 但如果用户将全部添加到购物车而不是每个项目。所有产品将从愿望清单中删除。 我想把它保存在心愿单中。有谁知道如何解决它? 我尝试打开app \ code \ core \ Mage \ Wishlist \ Controller \ Abstract.php并注释掉行 $本期特价货品>删除(); 但没什么更好的。 我赞美你的帮助。

3 个答案:

答案 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,即使将其添加到购物车中,这些项目也将保留在愿望清单中。