/** * 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; }