public function testUpdate() { $cart = new StallCart($this->cartVar); $this->assertCount(0, $cart->viewCart()); $cart->add(1, 1); $cart->add(5, 1); $this->assertEquals(1, $cart->viewCart(1)['count']); $this->assertCount(2, $cart->viewCart()); $cart->update(1, 2); $this->assertEquals(2, $cart->viewCart(1)['count']); $this->assertCount(2, $cart->viewCart()); $cart->update(1, 0); $this->assertEquals(0, $cart->viewCart(1)['count']); $this->assertCount(1, $cart->viewCart()); $cart->update(5, -4); $this->assertEquals(1, $cart->viewCart(5)['count']); $this->assertCount(1, $cart->viewCart()); unset($cart); }
//Удаление элемента из корзины $del = $_GET["del"]; if (preg_match('/^[1-9]\\d*$/', $del)) { //Проверка на целое число $cart->remove($del); //LocalRedirect($APPLICATION->GetCurPageParam()); } } if (isset($_POST["BasketRefresh"])) { //обновление корзины foreach ($_POST as $arPostVal => $count) { if (strstr($arPostVal, "cart_item_")) { $id = substr($arPostVal, 10); if (preg_match('/^[1-9]\\d*$/', $count)) { //Проверка на целое число $cart->update($id, $count); } } } LocalRedirect($APPLICATION->GetCurPageParam()); } ////// } if ($cart->cartCount()) { $cartArr = array_keys($cart->viewCart()); $arSelect = array("ID", "NAME", "PREVIEW_PICTURE", "DETAIL_PICTURE", "DETAIL_PAGE_URL", "PROPERTY_PRICE"); $arFilter = array('IBLOCK_ID' => $arParams["IBLOCK_ID"], "ID" => $cartArr, "ACTIVE" => "Y"); $res = CIBlockElement::GetList(array(), $arFilter, false, array(), $arSelect); $res->SetUrlTemplates($arParams["DETAIL_URL"]); //Применяем шаблон построения ссылок из настроек if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["SendOrder"]) > 0) {