Настройка корзины в JBZoo версии 2.1.x и ниже

Как настроить модуль корзины, заказ и его форму?

7.2/10 оценка (17 голосов)

Если у вас приложение JBZoo версии 2.2.х, то читайте документацию в этом разделе про корзину.

Корзина сделана на основе формы создания заказа. Функционал стандартных форм Zoo заимствован и серьезно переработан. Таким образом, в формах можно использовать самые разные типы полей (строки, радио, чекбоксы и даже привязывать файлы...).

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

Настройка корзины вам может по началу показаться слегка запутанной (как и весь Zoo).
Стоит понимать, что вы имеете дело с конструктором контента. Но постепенно все разложится по полочкам, поэтому не стоит волноваться.

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

1. Создание нового каталога

Первым делом вам необходимо создать отдельный каталог JBZoo (новая вкладка). Отдельный каталог поможет вам проще работать с заказами в дальнейшем и не путать их с контентом и товарами сайта. Рекомендуем дать каталогу псевдоним orders. На демо-сайте он называется Заказы.

2. Создание формы заказа

Создаём в этом каталоге новую форму заказа и устанавливаем следующие настройки:

  • Настройка формы подачи материаловУровень доступа — публичный.
  • В типах напротив надписи Заказ выбираем шаблон Order Form (он уже установлен в JBZoo).
  • Редактирование материала — отключаем.
  • Форму активируем.

3. Настраиваем каталог

Идём в настройки каталога и выбираем вкладку Корзина. Выставляем следующие опции:

Настройка каталога

  • Включить корзину — позволяет данному каталогу работать «на прием» новых заявок с сайта.
  • Только авторизованные — по желанию.
  • Форма подачи материалов — выбираем только что созданную форму.
  • Шаблон заказа — по умолчанию лучше выбрать предустановленный Заказ / Order form.
  • Почта администратора — для уведомлений о новых заказах.
  • Шаблоны для почтовых сообщений — по умолчанию Заказ / Order email.

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

4. Вывод модуля корзины

Перейдите в менеджер модулей. Создайте новый модуль JBZoo Cart — это модуль, для вывода информации о корзине.
В настройках:

  • Вывод модуля корзиныВыберите приложение Заказы, либо то, которое у вас используется для списка заказов.
  • Укажите валюту — по умолчанию это рубли.
  • Укажите по какому пункту меню у вас будет открываться список товаров в корзине. Это удобно для управления модулями сайта на странице заказа.
  • Укажите позицию вывода корзины.

5. Настройте вывод формы заказа и почтовых сообщений (по желанию)

Здесь важно помнить об элементе JBZoo Cart Items, который невидим для фронтэнда, но видимый при редактировании материала (с типом заказ). Он выполняет важную роль — сохраняет выбранные товары в базу данных, затем отображает их в админке.

Типы полей в форме настраиваются тут: Шестеренка > JBZoo > Заказ > редактировать поля, или по ссылке:

/administrator/index.php?option=com_zoo&controller=manager&group=jbuniversal&task=editelements&cid[]=order

Шаблон формы (Order form) лежит по адресу: 

media\zoo\applications\jbuniversal\templates\catalog\renderer\item\order\order.php

Шаблон письма по умолчанию (Order email) здесь: 

media\zoo\applications\jbuniversal\templates\catalog\renderer\item\order\orderemail.php

Где выводится форма заказа?

6. Для ваших товаров добавьте поле JBZoo Price

Включите следующие настройкиВ настройках включите отображение кнопки добавить в корзину и удобную для вас валюту(ы).

В итоге вы получите простой вариант с гибкой формой заказа.

Заказ сохраняется на сайте, отправляется на почту администратору и пользователю, если тот был авторизован.

Настройка множественной цены

В JBZoo Price можно включить множественную цену, тогда при заказе можно будет выбрать, например, одну из комплектаций товара.

Для этого зайдите в редактирование полей вашего типа материала (например, для демо-сайта — тип продукт). Затем, в элементе цена (JBZoo Price), выберите напротив свойства Повторяемое — Да.

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

Выбор комплектацииНастройка цены в типе материалаНастройка цены в материале

У вас должен быть обязательно добавлен элемент JBZoo Price, который позволит вам для разной комплектации прописывать цену и обозначение.

Решение проблем, возникающих при не правильной настройке корзины

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

Приложение не является корзиной (Application is not a basket)

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

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

Форма заказа не найдена (Submission form is not found)

Не работает форма подачи материаловПодобная ошибка может возникнуть, если вы забыли настроить форму подачи материалов, которая будет использоваться при заказе. Либо эту форму не привязали к каталогу корзины.

Оплата не включена (Payment is not enabled)

Такое может случится, если вы пытаетесь оплатить товар на сайте, но ни один из способов оплаты не настроен (или настроен не верно). Рекомендуем пересмотреть настройки оплаты в корзине.

Корзина, Форма, Цена

У меня остались вопросы, где я могу их задать?

Вы можете обратиться на наш специальный форум техподдержки JBZoo. Если у вас нет активного аккаунта со знаком «плюс» в тарифном плане, то вы можете задать свой вопрос в одном из этих разделов или на любой из наших контактов. Форум специально предназначен для JBZoo, приоритет и скорость ответа там выше.