예제 #1
0
파일: Cart.php 프로젝트: kirkbauer2/kirkxc
 /**
  * Add order item to cart.
  *
  * @param \XLite\Model\OrderItem $item Order item
  *
  * @return boolean
  */
 public function addItem($item)
 {
     $isAdded = parent::addItem($item);
     if ($isAdded) {
         // Recalculate cart
         $this->getCart()->calculate();
         // Save last item data in the session
         $addedItem = $this->getCart()->getItemByItem($item);
         \XLite\Core\Session::getInstance()->lastAddedCartItemId = $addedItem->getItemId();
         \XLite\Core\Session::getInstance()->lastAddedCartItemKey = $addedItem->getKey();
         $target = \XLite\Core\Request::getInstance()->target;
         \XLite\Core\Request::getInstance()->target = 'add2_cart_popup';
         $widget = new \XLite\Module\XC\Add2CartPopup\View\Add2Cart(array(\XLite\Module\XC\Add2CartPopup\View\Add2Cart::PARAM_DISPLAY_CACHED => false));
         $widget->init();
         $content = $widget->getContent();
         \XLite\Core\Session::getInstance()->add2CartPopupContent = $content;
         \XLite\Core\Request::getInstance()->target = $target;
     }
     return $isAdded;
 }