Esempio n. 1
0
 public function __construct()
 {
     //Вычисляем общую стоимость товаров в корзине, без налога, цены поставки
     $this->mTotalAmount = ShoppingCart::GetTotalAmount();
     // Получаем список товаров в корзине
     $this->mItems = ShoppingCart::GetCartProducts(GET_CART_PRODUCTS);
     if (empty($this->mItems)) {
         $this->mEmptyCart = true;
     } else {
         $this->mEmptyCart = false;
     }
     $this->mLinkToCartDetails = Link::ToCart();
 }
Esempio n. 2
0
 public function init()
 {
     switch ($this->_mCartAction) {
         case ADD_PRODUCT:
             $selected_attributes = array();
             $selected_attribute_values = array();
             // Получаем выбранные атрибуты товаров, если они есть...
             foreach ($_POST as $key => $value) {
                 //Если в массиве $_POST есть аттрибуты, начинающиеся с "attr_"
                 if (substr($key, 0, 5) == 'attr_') {
                     //Получаем имя и значение выбранного атрибута
                     $selected_attributes[] = substr($key, strlen('attr_'));
                     $selected_attribute_values[] = $_POST[$key];
                 }
             }
             $attributes = '';
             if (count($selected_attributes) > 0) {
                 $attributes = implode('/', $selected_attributes) . ': ' . implode('/', $selected_attribute_values);
             }
             ShoppingCart::AddProduct($this->_mItemId, $attributes);
             header('Location: ' . $this->mLinkToContinueShopping);
             break;
         case REMOVE_PRODUCT:
             ShoppingCart::RemoveProduct($this->_mItemId);
             header('Location: ' . Link::ToCart());
             break;
         case UPDATE_PRODUCTS_QUANTITIES:
             for ($i = 0; $i < count($_POST['itemId']); $i++) {
                 ShoppingCart::Update($_POST['itemId'][$i], $_POST['quantity'][$i]);
             }
             header('Location: ' . Link::ToCart());
             break;
         case SAVE_PRODUCT_FOR_LATER:
             ShoppingCart::SaveProductForLater($this->_mItemId);
             header('Location: ' . Link::ToCart());
             break;
         case MOVE_PRODUCT_TO_CART:
             ShoppingCart::MoveProductToCart($this->_mItemId);
             header('Location: ' . Link::ToCart());
             break;
         default:
             // не делаем ничего
             break;
     }
     //Вычисляем общую стоимость товаров в корзине без учета
     //налогов и цены доставки
     $this->mTotalAmount = ShoppingCart::GetTotalAmount();
     //Получаем список товаров в корзине
     $this->mCartProducts = ShoppingCart::GetCartProducts(GET_CART_PRODUCTS);
     //Получаем список товаров, отложенных для оплаты в будущем
     $this->mSavedCartProducts = ShoppingCart::GetCartProducts(GET_CART_SAVED_PRODUCTS);
     //Проверяем не пуста ли корзина
     if (count($this->mCartProducts) == 0) {
         $this->mIsCartNowEmpty = 1;
     }
     //Проверяем не пуст ли список отложенных товаров
     if (count($this->mSavedCartProducts) == 0) {
         $this->mIsCartLaterEmpty == 1;
     }
     //Создаем ссылки для операций с корзиной
     for ($i = 0; $i < count($this->mCartProducts); $i++) {
         $this->mCartProducts[$i]['save'] = Link::ToCart(SAVE_PRODUCT_FOR_LATER, $this->mCartProducts[$i]['item_id']);
         $this->mCartProducts[$i]['remove'] = Link::ToCart(REMOVE_PRODUCT, $this->mCartProducts[$i]['item_id']);
     }
     for ($i = 0; $i < count($this->mSavedCartProducts); $i++) {
         $this->mSavedCartProducts[$i]['move'] = Link::ToCart(MOVE_PRODUCT_TO_CART, $this->mSavedCartProducts[$i]['item_id']);
         $this->mSavedCartProducts[$i]['remove'] = Link::ToCart(REMOVE_PRODUCT, $this->mSavedCartProducts[$i]['item_id']);
     }
 }