Как мне добавить в список желаний программно?
Я прочесал Интернет, но я не приблизился к пониманию того, как я добавляю продукт в список пожеланий в коде.
У меня есть идентификатор продукта и объект клиента в моем контроллере, и я просто хочу иметь возможность добавить этот продукт в список пожеланий этого клиента. Меня интересует не ракетостроение, а просто то, что должно быть выполнимо.
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);
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();
}
}
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");
}
}