Example #1
0
 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);
 }
Example #2
0
        //Удаление элемента из корзины
        $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) {