Код корзины. Wicart — скрипт корзины для покупок

15.04.2019

От автора: если вам нужно увеличить средний чек в интернет-магазине, то одно из наиболее простых и логичных решений, которые приходят в голову, - это создание онлайн-корзины для покупателя. С ее помощью человек сможет приобрести не один товар, а сразу несколько за раз. Решение кажется банальным, однако, многие предприниматели до сих пор не пришли к нему. Прочитайте эту статью, если хотите узнать, как сделать корзину на сайте интернет-магазина быстро и правильно.

В любом более-менее крупном обычном магазине посетителю на входе предлагается специальная тара, куда он сможет складывать свои покупки. Еще в ХХ в. это решение было введено для клиентов не только для удобства переноса товаров, но и для стимулирования совершения как можно большего числа покупок. Согласитесь, как-то глупо зайти в магазин, взять корзину и переносить в ней одну маленькую пачку чипсов? Обязательно, так или иначе, добросишь чего-нибудь запить.

Примерно таким же образом действует и корзина в интернет-магазине. Она значительно упрощает процесс приобретения нескольких товарных позиций и увеличивает средний чек. Разумеется, фактор «давления» на покупателя существенно ниже по сравнению с офлайн-точками за счет отсутствия физической необходимости переносить товар и ходить с пустой тарой перед другими людьми, однако, он все же присутствует.

Находитесь на самом старте создания онлайн-проекта? Тогда лучше начните с . Уже более-менее знаете толк в этой теме? Тогда переходим непосредственно к созданию веб-корзины для сайта.

Пошаговая инструкция по созданию корзины

Существуют разные версии корзин, однако, мы рассмотрим разработку классического модуля для интернет-магазинов, созданного на базе PHP. Как правило, его размещают на видном месте - в шапке сайта в правом верхнем углу. Маленькая корзина представляет собой своеобразный индикатор, показывающий, сколько товаров, и на какую сумму вы собираетесь приобрести.

Итак, пошаговая инструкция по тому, как создать корзину для интернет-магазина:

1. Откройте файл под названием header.php. Он находится в корневой папке вашего сайта. Далее вставьте в верстку базовые значения нашей будущей корзины:

Товаров в корзине: шт.
Оформить заказ

< 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 для более правильной работы модуля:

  • session_start() - для дальнейшего использования; это позволит нам использовать сеансы (очень важно, чтобы session_start был написан прежде, чем другие данные будут отправлены в браузер).
  • Во второй строке мы укажем connection.php, который установит соединение с базой данных (мы рассмотрим это в секунду). И ещё одно: разница между include и require заключается в том, что если вы используете require и файл не может быть найден, выполнение скрипта закончится. Если вы используете "include", скрипт продолжит работать.
  • Вместо копирования всего html-кода (ссылка на css, на js) для каждого файла на вашем сайте, можете просто сделать их все относительно одного файла. Сначала я проверяю, есть ли переменная GET, называемая "page set". Если нет, я создаю новую переменную _pages . Указывая сначала переменную GET, называемую pages, я хочу убедиться, что файл, который я собираюсь включить, является допустимой страницей.
  • Для этого нам нужно включить файл; добавьте эту строку в index.php между div с id "main":

    Теперь у нас полный index.php :

    Shopping Cart

    Давайте создадим соединение с MySQL. Откройте connections.php и пропишите следующее:

    Шаг 5

    Пропишем разметку для страницы продуктов. Откройте её и введите следующее:

    Product List

    Name Description Price Action
    Product 1 Some random description 15 $ Add to cart
    Product 2 Some random description 25 $ Add to cart

    Давайте посмотрим на страницу:


    Как видите, это довольно уродливо. Давайте добавим этот CSS.

    A {color: #48577D; text-decoration: none;} a:hover {text-decoration: underline;} h1, h2 {margin-bottom: 15px} h1 {font-size: 18px;} h2 {font-size: 16px} #main table { width: 480px; } #main table th { padding: 10px; background-color: #48577D; color: #fff; text-align: left; } #main table td { padding: 5px; } #main table tr { background-color: #d3dcf2; }

    Okay: другое дело:



    Выглядит намного лучше, не так ли? Внизу указан полный код style.css :

    Body { font-family: Verdana; font-size: 12px; color: #444; } a {color: #48577D; text-decoration: none;} a:hover {text-decoration: underline;} h1, h2 {margin-bottom: 15px} h1 {font-size: 18px;} h2 {font-size: 16px} #container { width: 700px; margin: 150px auto; background-color: #eee; padding:15px; overflow: hidden; } #main { width: 490px; float: left; } #main table { width: 480px; } #main table th { padding: 10px; background-color: #48577D; color: #fff; text-align: left; } #main table td { padding: 5px; } #main table tr { background-color: #d3dcf2; } #sidebar { width: 200px; float: left; }

    Шаг 6

    Прежде чем извлечь продукт из базы данных, давайте удалим последние две строки из нашей таблицы (были нужны только для того, чтобы увидеть, как она будет выглядеть). Удалить это:

    Product 1 Some random description 15 $ Add to cart Product 2 Some random description 25 $ Add to cart

    Отлично! Теперь в том месте, где были строки таблицы, введите следующий код PHP:

    $

    x

    Go to cart

  • Сначала проверим, установлен ли сеанс корзины. Если нет, мы выводим сообщение, предупреждая пользователя о том, что корзина пуста.
  • Затем создаём mysql SELECT, но мы выбираем только те продукты, которые присутствуют в этом сеансе. Для этого используем функцию foreach. Итак, мы проходим цикл и добавляем идентификатор продукта в SELECT. Затем мы используем функцию substr для удаления последней запятой из SELECT.
  • В конце выводим данные в браузер.
  • Посмотрите на картинку снизу:





    Поскольку index.php является шаблоном для всех файлов, sidebar также будет виден в cart.php . Разве это не круто?!

    Шаг 9

    Наконец, откройте cart.php и введите код:

    View cart Go back to products page

    Name Quantity Price Items Price