/** * Action to add a product to cart. * * @param SS_HTTPRequest $request Request to check for product data * * @return void * * @author Sebastian Diel <*****@*****.**> * @since 12.03.2013 */ public function addToCart(SS_HTTPRequest $request) { $isValidRequest = false; $backLink = null; $postVars = $request->postVars(); $params = $request->allParams(); $productID = $params['ID']; $quantity = $params['OtherID']; if (is_null($productID) || is_null($quantity)) { if (array_key_exists('productID', $postVars) && array_key_exists('productQuantity', $postVars)) { $isValidRequest = true; $productID = $postVars['productID']; $quantity = $postVars['productQuantity']; } } else { $isValidRequest = true; } if ($isValidRequest) { $postVars['productID'] = $productID; $postVars['productQuantity'] = $quantity; if ($quantity == 0) { SilvercartShoppingCart::removeProduct($postVars); } else { SilvercartShoppingCart::addProduct($postVars); } if (SilvercartConfig::getRedirectToCartAfterAddToCartAction()) { $backLink = SilvercartTools::PageByIdentifierCodeLink('SilvercartCartPage'); } } $this->redirectBack($backLink, '#product' . $productID); }