/** * Returns the link or the Link to the OrderConfirmationPage page on this site * @return String (URLSegment) */ public static function find_link() { if ($page = DataObject::get_one('OrderConfirmationPage', "\"ClassName\" = 'OrderConfirmationPage'")) { return $page->Link(); } elseif ($page = DataObject::get_one('OrderConfirmationPage')) { return $page->Link(); } return CartPage::find_link(); }
public function save($data, $form) { $selectionsfield = $form->Fields()->fieldByName("Selections"); $totalqty = $selectionsfield->getSumQuantities(); //add quantities of selected products $quantities = $selectionsfield->getQuantities(); $selectables = $this->getProductMenu()->ProductSelections(); foreach ($quantities as $id => $quantity) { $selection = $selectables->byID($id); if ($selection && ($buyable = $selection->Product())) { //restrict order item to given selection $filter = array("MenuProductSelectionID" => $selection->ID); $item = ShoppingCart::singleton()->setQuantity($buyable, $quantity, $filter); if (!$item) { //TODO: errors //ShoppingCart::singleton()->getMessage(); } } else { //selection not found! } } return $this->redirect(CartPage::find_link()); }
public function getCartLink() { return CartPage::find_link(); }
/** * loads an order * */ public function loadorder($request) { $this->cart->loadOrder(intval($request->param('ID'))); $cartPageLink = CartPage::find_link(); if ($cartPageLink) { Director::redirect($cartPageLink); } else { Director::redirect("/"); } }
/** * This is used here and in VariationForm and AddProductForm * @param bool|string $status * @return bool */ public static function direct($status = true) { if (Director::is_ajax()) { return $status; } if (self::config()->direct_to_cart_page && ($cartlink = CartPage::find_link())) { Controller::curr()->redirect($cartlink); return; } else { Controller::curr()->redirectBack(); return; } }
/** * loads an order * @param SS_HTTPRequest * @return REDIRECT */ public function loadorder(SS_HTTPRequest $request) { $this->cart->loadOrder(intval($request->param('ID'))); $cartPageLink = CartPage::find_link(); if ($cartPageLink) { return $this->redirect($cartPageLink); } else { return $this->redirect(Director::baseURL()); } }
/** * Returns the link or the Link to the OrderConfirmationPage page on this site * @return String (URLSegment) */ public static function find_link() { if ($page = OrderConfirmationPage::get()->filter(array("ClassName" => "OrderConfirmationPage"))->First()) { return $page->Link(); } elseif ($page = OrderConfirmationPage::get()->First()) { return $page->Link(); } return CartPage::find_link(); }