Создание корзины на php mysql. Настройка страницы корзины в WooCommerce. Как удалить доставку со страницы корзины

Которая преследовала цель всего лишь показать абстрактный пример реализации корзины покупателя, то не думал, что она породит такое количество вопросов и просьб, посыпавшихся и в самом блоге, и на мою почту, и т.д. Собственно, поэтому и решил написать этот плагинчик "jqCart ", но хочу сразу подчеркнуть несколько моментов:

  • Хоть код и оформлен в виде плагина, но плагином его можно назвать с большой натяжкой. Да и вообще, в этом направлении, на мой взгляд, сделать плагин полностью универсальным - достаточно сложно;
  • Писа́лся плагин на скорую руку, поэтому достаточно сыроват, хотя и вполне рабочий;
  • На данный момент, код не документированный;
  • Планирую ли я его дорабатывать? Да, но при достаточном количестве свободного времени;
  • Итак, для работы плагина требуется библиотека jQuery >= 1.8, которая должна быть подключена до подключения самого плагина. Работать должно во всех современных браузера и, по идее, даже в IE8. Проблема для старых "осликов", может заключаться только в применяемых CSS-свойствах и версии jQuery (напомню, что jQuery 2.x - не поддерживает Internet Explorer 6, 7, и 8 ). Данные передаются на сервер с помощью Ajax и поэтому, я крайне рекомендую использовать кодировку для файлов UTF-8 без BOM !

    Подключение:

    Использование:

    $(function() { "use strict"; // инициализация плагина $.jqCart({ buttons: ".add_item", // селектор кнопок, аля "Добавить в корзину" handler: "/php/handler.php", // путь к обработчику visibleLabel: false, // показывать/скрывать ярлык при пустой корзине (по умолчанию: false) openByAdding: false, // автоматически открывать корзину при добавлении товара (по умолчанию: false) currency: "€", // валюта: строковое значение, мнемоники (по умолчанию "$") cartLabel: ".label-place" /* селектор элемента, где будет размещен ярлык, он же - "кнопка" для открытия корзины */ }); // дополнительные методы $.jqCart("openCart"); // открыть корзину $.jqCart("clearCart"); // очистить корзину });

    В кнопках ("Добавить в корзину" ), должены быть прописаны следующие data-атрибуты:

  • data-id - ID товара
  • data-title - Наименование товара
  • data-price - Цена товара
  • data-img - URL фото товара (опционально )
  • Все значения вышеуказанных data-атрибутов, принимают участие при формировании окна корзины. Можно добавлять дополнительные data-атрибуты, значения которых будут отправлены с остальными данными в обработчик. Ключи в полученном массиве на сервере, будут соответствовать имени атрибута после "data-", т.е. значение атрибута "data-somevalue", будет в массиве под ключем "somevalue" Тег для кнопки и её расположение на странице - значения не имеет.

    Добавить в корзину

    В архиве найдете пример обработчика (handler.php ) с подготовкой и отправкой письма на почту. В конце обработчика, обязательно должен быть ответ клиенту в формате JSON.

    шт.
    Оформить заказ

    < div class = "smalcart" >

    < strong > Товароввкорзине: < / strong > шт.

    < br / > < a href = "" > Оформитьзаказ< / a >

    < / div >

    В данном случае используется содержимое массива $smal_cart. Он станет доступен в основном шаблоне интернет-магазина несколько позже. Для этого потребуется провести еще ряд определенных действий.

    2. Чтобы корзина обладала простым и гармоничным видом, добавьте в файл style.css следующие стили:

    #header .smalcart { float: right; height: 55px; padding: 10px; padding-left: 15px; margin: 10px; border: 1px solid gray; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; background: #E6DEEA; }

    #header .smalcart {

    float : right ;

    height : 55px ;

    padding : 10px ;

    padding - left : 15px ;

    margin : 10px ;

    border : 1px solid gray ;

    border - radius : 10px ;

    Moz - border - radius : 10px ;

    Webkit - border - radius : 10px ;

    background : #E6DEEA;

    После этого уже можете взглянуть на визуальные изменения во внешнем виде интернет-магазина.

    3. Теперь нам с вами нужно углубиться в системную структуру корзины. В связи с тем, что модуль корзины не является отдельной страницей, дополнительный контроллер под нее можно не создавать. Внешний вид уже отображен в шаблоне, поэтому разработку views не делаем. Ограничимся лишь проработкой параметра model.

    Для этого зайдите в папку application, а затем в models. После этого создайте файл с названием cart.php. В него добавляете следующее содержание:

    class Application_Models_Cart { function addToCard($id, $count=1) { $_SESSION[‘cart’][$id]=$_SESSION["cart"][$id]+$count;return true; } function delFromCart($id, $count=1){} function clearCart(){} }

    class Application_Models_Cart

    function addToCard ($ id , $ count = 1 )

    $ _SESSION [ ‘cart ’] [ $ id ] = $ _SESSION [ "cart" ] [ $ id ] + $ count ; return true ;

    function delFromCart ($ id , $ count = 1 ) { }

    function clearCart () { }

    Эта модель позволить обновлять данные, содержащиеся в содержимом модуля корзины. Пока что хватит лишь функции добавления товара, однако, на будущее необходимо разработать специальные интерфейсы, чтобы была возможность удалить определенный товар или же очистить корзину целиком.

    Информация о товарах в корзине будет содержаться в массиве $_SESSION. Он представляет собой ассоциативный массив, в котором ключами являются ID продукции, а значением - количество товаров, добавленных в корзину. Стратегия минимализма позволит упростить процесс передачи информации в cookies.

    Таким образом, мы получили готовую базу Application_Models_Cart. Теперь необходимо ее активировать.

    4. Перед этим давайте еще внесем изменения в атрибут href для более правильной работы модуля: