Как мне добавить в список желаний программно?


Я прочесал Интернет, но я не приблизился к пониманию того, как я добавляю продукт в список пожеланий в коде.

У меня есть идентификатор продукта и объект клиента в моем контроллере, и я просто хочу иметь возможность добавить этот продукт в список пожеланий этого клиента. Меня интересует не ракетостроение, а просто то, что должно быть выполнимо.

 2
Author: 7ochem, 2014-05-12

3 answers

Весь необходимый код можно найти в методе app/code/core/Mage/Wishlist/controllers/IndexController.php _addItemToWishList.

Вам нужно будет загрузить продукт по его идентификатору и загрузить список пожеланий по клиенту. Код будет выглядеть примерно так.

$wishlist = Mage::getModel('wishlist/wishlist')->loadByCustomer($customerId, true);
$product = Mage::getModel('catalog/product')->load($productId);

$buyRequest = new Varien_Object(array()); // any possible options that are configurable and you want to save with the product

$result = $wishlist->addNewItem($product, $buyRequest);
$wishlist->save();

Просто из любопытства. Почему бы не использовать addAction, предоставленный контроллером списка пожеланий, для добавления продуктов?

Вы можете получить URL-адрес через echo Mage::helper('wishlist')->getAddUrl($product);

 7
Author: Sander Mangel, 2014-05-12 12:00:25
Hi use this code to remove a product having productid **$productId** of a customer having customerid **$customerId**.

   $itemCollection = Mage::getModel('wishlist/item')->getCollection()
                        ->addCustomerIdFilter($customerId);
        foreach($itemCollection as $item) {
             if($item->getProduct()->getId() == $productId){
                $item->delete();
             }
        }
 0
Author: Prafull, 2014-10-31 10:31:18
if($_GET['addmultiple'] == "cartitem")
{


        $cuu = $this->helper('core/url')->getCurrentUrl();
        $currentUrl = str_replace("?addmultiple=cartitem","",$cuu);

    try{
            $cart = Mage::helper('checkout/cart')->getCart();
            $ms="";
            $myupsell_product = $_product->getUpSellProductCollection();
            $myupsell_product->AddStoreFilter();
            foreach($myupsell_product as $upsellprd)
        {

            $params = 1;
            $pid = $upsellprd->getId();
            $product = Mage::getModel('catalog/product')->load($pid);;
            $cart->addProduct($product, $params);
            $msg .= $product->getName(). " is successfully added into cart<br>";
        }
         $cart->save();
         Mage::getSingleton('core/session')->addSuccess(Mage::helper('checkout')->__($msg));
         header("Refresh: 0; url=$currentUrl");     


    }
    catch(Exception $e) 
    {
        Mage::getSingleton('core/session')->addError(Mage::helper('checkout')->__($e->getMessage()));
        header("Refresh: 0; url=$currentUrl");     


    }

}
 0
Author: user37307, 2016-03-10 08:59:58