예제 #1
0
 public function fromcartAction()
 {
     if (!Mage::helper('multiplewishlist')->isEnabled()) {
         return parent::allcartAction();
     }
     $wishlist = $this->_getWishlist();
     if (!$wishlist) {
         return $this->norouteAction();
     }
     $itemId = (int) $this->getRequest()->getParam('item');
     /* @var Mage_Checkout_Model_Cart $cart */
     $cart = Mage::getSingleton('checkout/cart');
     $session = Mage::getSingleton('checkout/session');
     try {
         $item = $cart->getQuote()->getItemById($itemId);
         if (!$item) {
             Mage::throwException(Mage::helper('wishlist')->__("Requested cart item doesn't exist"));
         }
         $productId = $item->getProductId();
         $buyRequest = $item->getBuyRequest();
         /* BELVG START */
         $wishItem = $wishlist->addNewItem($productId, $buyRequest);
         if (!is_string($wishItem)) {
             $wishlist_tab_id = (int) Mage::app()->getRequest()->getParam('tab_id');
             $wishlist_tab_name = Mage::app()->getRequest()->getParam('wishlist_name');
             if (!is_null($wishlist_tab_id) && $wishlist_tab_id != 0) {
                 $tab = Mage::getModel('multiplewishlist/tab')->getTab($wishlist, $wishlist_tab_id, $wishlist_tab_name);
                 if ($tab->getId()) {
                     Mage::getModel('multiplewishlist/item')->getItem($wishlist, $tab, $wishItem);
                     Mage::getModel('core/session')->setWishlistActiveTabId($tab->getId());
                 }
             }
         }
         /* BELVG END */
         $productIds[] = $productId;
         $cart->getQuote()->removeItem($itemId);
         $cart->save();
         Mage::helper('wishlist')->calculate();
         $productName = Mage::helper('core')->escapeHtml($item->getProduct()->getName());
         // $wishlistName =
         // Mage::helper('core')->escapeHtml($wishlist->getName());
         /* BELVG START */
         $wishlistName = $wishlist_tab_id && $tab ? $tab->getWishlistName() : Mage::helper('core')->escapeHtml($wishlist->getName());
         /* BELVG END */
         $session->addSuccess(Mage::helper('wishlist')->__("%s has been moved to wishlist %s", $productName, $wishlistName));
         $wishlist->save();
     } catch (Mage_Core_Exception $e) {
         $session->addError($e->getMessage());
     } catch (Exception $e) {
         $session->addException($e, Mage::helper('wishlist')->__('Cannot move item to wishlist'));
     }
     return $this->_redirectUrl(Mage::helper('checkout/cart')->getCartUrl());
 }