function addVariation() { if ($this->AllowPurchase && $this->urlParams['ID']) { $variation = DataObject::get_one('ProductVariation', sprintf("`ID` = %d AND `ProductID` = %d", (int) $this->urlParams['ID'], (int) $this->ID)); if ($variation) { if ($variation->AllowPurchase()) { ShoppingCart::add_new_item(new ProductVariation_OrderItem($variation)); if (!$this->isAjax()) { Director::redirectBack(); } } } } }
/** * Either increments the count or creates a new item. */ function additem($request) { if ($itemId = $request->param('ID') && ($product = $this->buyableFromURL())) { if ($item = ShoppingCart::get_item($this->urlFilter())) { ShoppingCart::add_item($item); return self::return_data("success", "Extra item added"); //TODO: i18n } else { if ($orderitem = $this->create_order_item($product, 1, self::get_clean_param_array($this->getRequest()->getVars()))) { ShoppingCart::add_new_item($orderitem); return self::return_data("success", "Item added"); //TODO: i18n } } } return self::return_data("failure", "Item could not be added"); //TODO: i18n }