Basic Cart - упрощаем магазин

Basic Cart

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

Drupal имеет ряд решений для организации магазинов с кучей особенностей в каждом из решений (ubercart, commerce): платёжные системы, атрибуты, взаимосвязи (rules), способы доставки, расширенная форма заказа (вод платёжных данных и\или персональных), импорт. Это всё классно и интересно, но когда конкретная цель продать товар потребителю, наверное, можно упростить себе и другим жизнь.

Поэтому двумя руками за Basic Cart, который позволит организовать простой онлайн-магазин: корзина и форма заказа на почту администратору. Что может быть лучше и проще? Собранные почтовые ящики и телефоны используются для рассылок; потребитель не побоится оставить данные (хоть и не все настоящие), по которым ему же и перезвонят потом. Всё для счастья и блага потребителя. Никаких онлайн-оплат и сомнений. Вижу огромные плюсы в простоте и удобстве для пользователя, редактора и администратора.

Кроме того, не одинок в выборе решения. Ребята придумали улучшения Basic Cart, предлагая сообществу свои модули:

Basic Cart Quantity - добавит возможность указать в товаре кол-во;

UPD: возможность указания кол-ва добавлена в новой ветке модуля Basic Cart  7.3.x

Basic Cart AJAX - добавит Ajax к кнопке заказа и к самой корзине.

Разумеется, у коробочного Basic Cart нет ни способов доставки, ни платёжных шлюзов. Есть только корзина и набор полей для ввода информации о покупателе.

Эти самые поля возможно переделать уже на своё усмотрение, например, добавив способы доставки или желаемое время доставки, или выбор удобного дял покупателя места встречи. Так, например, на одном из проектов нужны были чекбоксы с выбором способа доставки:

Взял за основу неиспользуемую формус Zip-кодом. Все поля определяются в basic_cart.cart.inc. Интерес вызвала конкретная форма: basic_cart_checkout_zipcode. Вот и переписывается опции у формы так, как нам нужно:

$form['basic_cart_checkout_zipcode'] = array(
'#title' => t('Delivery method'),
'#required' => TRUE,
'#type' => 'radios',
'#options' => array(
'Курьером'=>t('Курьером на общественном транспорте'),
'На автомобиле'=>t('На автомобиле'),
'Курьером ВАО г.Москвы'=>t('Курьером по ВАО г.Москвы'),
'Самовывоз'=>t('Самовывоз')),
);

Т.е. обязательно к заполенению, тип - радиокнопки - и опции выбора (способы доставки). Это не совсем удачный пример, так как обновляя модуль потрётся всё; нужно либо помнить об этом, либо до лучших времён не обновлять и\или переместить в другое место.

Но основная мысль такая: не нужно усложнять сайты, используйте простые решения для удобства своего и вашего пользователя.

Комментарии к записи

Куда пихать этот код???

В файле basic_cart.cart.inc найти "basic_cart_checkout_zipcode" и переделать, как в примере.

Это всё не очень правильно и красиво.
Но это работает для конкретных задач.

Plain text

Target Image