/** * Retrieve url for updating product in wishlist * * @param Mage_Catalog_Model_Product|Mage_Wishlist_Model_Item $item * * @return string|bool */ public function getUpdateUrl($item) { $itemId = null; if ($item instanceof Mage_Catalog_Model_Product) { $itemId = $item->getWishlistItemId(); } if ($item instanceof Mage_Wishlist_Model_Item) { $itemId = $item->getId(); } if ($itemId) { return $this->_getUrl('wishlist/index/updateItemOptions', array('id' => $itemId)); } return false; }
/** * Move item to given wishlist. * Check whether item belongs to one of customer's wishlists * * @param Mage_Wishlist_Model_Item $item * @param Mage_Wishlist_Model_Wishlist $wishlist * @param Mage_Wishlist_Model_Resource_Wishlist_Collection $customerWishlists * @param int $qty * @throws InvalidArgumentException|DomainException */ protected function _moveItem(Mage_Wishlist_Model_Item $item, Mage_Wishlist_Model_Wishlist $wishlist, Mage_Wishlist_Model_Resource_Wishlist_Collection $customerWishlists, $qty = null) { if (!$item->getId()) { throw new InvalidArgumentException(); } if ($item->getWishlistId() == $wishlist->getId()) { throw new DomainException(null, 1); } if (!$customerWishlists->getItemById($item->getWishlistId())) { throw new DomainException(null, 2); } $buyRequest = $item->getBuyRequest(); if ($qty) { $buyRequest->setQty($qty); } $wishlist->addNewItem($item->getProduct(), $buyRequest); $qtyDiff = $item->getQty() - $qty; if ($qty && $qtyDiff > 0) { $item->setQty($qtyDiff); $item->save(); } else { $item->delete(); } }
/** * Set quote item * * @param Mage_Wishlist_Model_Item $item * @return Mage_Wishlist_Model_Item_Option */ public function setItem($item) { $this->setWishlistItemId($item->getId()); $this->_item = $item; return $this; }
/** * Adding item to wishlist * * @param Mage_Wishlist_Model_Item $item * @return Mage_Wishlist_Model_Wishlist */ public function addItem(Mage_Wishlist_Model_Item $item) { $item->setWishlist($this); if (!$item->getId()) { $this->getItemCollection()->addItem($item); Mage::dispatchEvent('wishlist_add_item', array('item' => $item)); } return $this; }
/** * Returns item configure url in wishlist * * @param Mage_Catalog_Model_Product|Mage_Wishlist_Model_Item $product * * @return string */ public function getItemConfigureUrl($product) { if ($product instanceof Mage_Catalog_Model_Product) { $id = $product->getWishlistItemId(); } else { $id = $product->getId(); } $params = array('id' => $id); return $this->getUrl('wishlist/index/configure/', $params); }
/** * Retrieve url for updating product in wishlist * * @param Mage_Catalog_Model_Product|Mage_Wishlist_Model_Item $item * * @return string|bool */ public function getUpdateUrl($item) { $itemId = null; if ($item instanceof Mage_Catalog_Model_Product) { $itemId = $item->getWishlistItemId(); } if ($item instanceof Mage_Wishlist_Model_Item) { $itemId = $item->getId(); } if ($itemId) { $params['id'] = $itemId; return $this->_getUrlStore($item)->getUrl('wishlist/index/updateItemOptions', $params); } return false; }