Выбрать курс
0  /  14

CraftsolShop

Установка и настройка

Данная глава описывает порядок установки и настройки решения "Крафтсол: Shop - Модуль корзины".

Весь процесс устнановки и настройки можно разделить на следующие шаги:
  1. Установка модуля
  2. Настройка параметров модуля
  3. Запуск мастера по установке модуля
  4. Размещение корзины на сайте и настройка параметров компонентов
  5. Настройка формы добавления товара в корзину
Все этапы описаны в соответствующих главах данного курса.

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

Установка модуля

Введите полученный при покупке ключ в административной части сайта в разделе" Маркетплейс" ⇒ пункт меню "Обновление решений" ⇒ вкладка "Aктивация купона" и нажмите на кнопку "Активировать купон".



На вкладке список обновлений появится решение "Крафтсол: Shop - Модуль корзины" выделите этот пункт галочкой и нажмите загрузить.

Затем на вкладке "Установка обновлений" вам будет предложено установить решение - нажмите кнопку "Установить".

Настройка параметров модуля

После установки в разделе "Настройки" административной части в "Настройках модулей" появится пункт меню "Крафтсол: Shop - Модуль корзины".

Все настройки расположены на 2 вкладках:
  • Настройки. Общие настройки корзины: настройка свойств товара, e-mail для отправки уведомлений и т.п.
  • Тексты

Параметр Описание
E-mail адрес для отправки уведомлений о заказах E-mail адрес, на который будут отправляться уведомления об оформлении новых заказов
E-mail адрес для отправки скрытой копии
E-Mail адрес, на который будут дублироваться все уведомления сообщения
Время жизни корзины в минутах Интервал времени, в течение которого хранится корзина пользователя, т.е. по истечении данного периода времени содержимое корзины удалится
Минимальная сумма заказа
Минимальная сумма товаров в корзине для оформления заказа, 0 - без ограничения
Свойство с изображением товара
Название свойства элемента инфоблока, в котором хранится изображение товара или название одного из стандартных полей: DETAIL_PICTURE, PREVIEW_PICTURE
Тип масштабирования
Тип масштабирования:
  • С сохранением пропорций, размер ограничивается значениями полей "Максимальная ширина (px)" и "Максимальная высота (px)"
  • С сохранением пропорций, обрезая лишнее - масштабирует в прямоугольник, ограниченный значениями полей "Максимальная ширина (px)" и "Максимальная высота (px)" c сохранением пропорций, обрезая лишнее
  • С сохранением пропорций, улучшенная обработка вертикальных картинок
Максимальная ширина (px)
Максимальная ширина изображения
Максимальная высота (px) Максимальная высота изображения
Свойство с ценой товара
Название свойства элемента инфоблока, в котором хранится цена товара
Свойство с артикулом товара Название свойства элемента инфоблока, в котором хранится артикул товара
Свойство с шагом увеличения товара  
Свойство со скидкой товара Название свойства элемента инфоблока, в котором хранится величина скидки. Можно указывать как фиксированную величину, так и относительную (в процентах). Варианты указания:
  • 200
  • 530
  • 5%
Точность округления (при использовании скидок) Возможны следующие варианты:
  • До 1 в большую сторону
  • До 5 в большую сторону
  • До 10 в большую сторону
  • До 100 в большую сторону
Склонения названия товаров через запятую для количества 1, 2, 5. Напр.: товар, товара, товаров Строка, содержащая склонения названия товаров
Сортировка товаров в корзине Возможны следующие варианты:
  • По дате добавления по возрастанию
  • По дате добавления по убыванию
  • По цене по возрастанию
  • По цене по убыванию
Статус заказа для перевода после оплаты Статус, в который будет переведен заказа после подтверждения оплаты заказа

Запуск мастера по установке модуля

Мастер располагается по следующему пути Настройки ⇒ Настройки продукта ⇒ Список мастеров: Крафтсол: Shop - Модуль корзины


Выбираем в контекстном меню "Установить"


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

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

Размещение корзины на сайте и настройка компонента

Для вывода корзины на сайте вставьте код вызова компонента корзины, например, в футер сайта, главное перед закрывающимся тегом body:

Код компонента блока с корзиной:

<? $APPLICATION->IncludeComponent(
	"craftsol:basket", 
	".default", 
	array(
		"ITEMS_SORT" => "BY_DATE_ASC",
		"COMPONENT_TEMPLATE" => ".default",
		"CHECKOUT_FOOTER_PROMO_TEXT" => "Рекламный текст или предложение скидки",
		"DELIVERY_BTN" => "POPUP_TEXT",
		"DELIVERY_LINK" => "",
		"AGREEMENT_BTN" => "POPUP_TEXT",
		"AGREEMENT_LINK" => "",
		"CONTINUE_BTN" => "CLOSE",
		"CONTINUE_LINK" => "",
		"USE_YM_GOALS" => "",
		"YM_GOALS_COUNTER" => "",
		"YM_GOALS_SAVE_ORDER" => "",
		"EFFECT_AFTER_ADD" => "POPUP",
		"YM_GOALS_ONE_CLICK_ORDER" => "CS_ONE_CLICK_ORDER_SAVE"
	),
	false
); ?>

Настройки параметров компонента

Для настройки параметров компонента необходимо перейти в режим правки и вызвать окно настройки: 
через пункт "Компоненты" в административном меню и в появившемся контекстном меню выбрать "Крафтсол: блок корзины".

Описание параметров блока корзины

Параметр Описание
Текст в подвале при оформлении Текст, который выводится в блоке с ценой товара под кнопками "Оформить заказ" и "Быстрый заказ в 1 клик"
Эффект после добавления товара в корзину Возможны следующие варианты:
  • Всплывающее окно
  • Пульсирующая кнопка корзины
Ссылка Доставка и Оплата Возможны следующие варианты работы:
  • Не отображать
  • Всплывающее окно (в данном случае текст будет браться из настроек модуля со вкладки "Тексты" поля "Текст условий доставки и оплаты")
  • Переход на страницу (в таком случае появится дополнительно поле для указания ссылки)
Ссылка на страницу Указывается ссылка на страницу с информацией о доставке и оплате. Поле доступно при выбранном значении "Переход на страницу" опции "Ссылка Доставка и Оплата".
Ссылка согласия на обработку перс. данных Возможны следующие варианты работы:
  • Не отображать
  • Всплывающее окно (в данном случае текст будет браться из настроек модуля со вкладки "Тексты" поля "Текст согласия на обработку персональных данных")
  • Переход на страницу
Ссылка на страницу Указывается ссылка на страницу с текстом согласия на обработку персональных данных. Поле доступно при выбранном значении "Переход на страницу" опции "Ссылка согласия на обработку перс. данных".
Кнопка Продолжить покупки Возможны следующие варианты работы:
  • Не отображать
  • Переход на страницу
  • Закрыть окно
Ссылка на страницу
Указывается ссылка на страницу, куда должен перейти посетитель. Поле доступно при выбранном значении "Переход на страницу" опции "Кнопка Продолжить покупки".
Использовать цели счетчика Яндекс.Метрики [Y|N] При отмеченной опции доступны для использования цели счетчика Яндекс.Метрики.
Важно! Счетчик Яндекс.Метрики должен быть подключен на странице.
Для этого необходимо выполнить регистрацию на Яндекс.Метрике, создать счетчик и вставить его код на страницу. Яндекс.цели будут работать только с этим счетчиком.
Идентификатор счетчика Яндекс.Метрики Код счетчика Яндекс.Метрики. Поле доступно при включенной опции "Использовать цели счетчика Яндекс.Метрики".
Идентификатор цели при оформлении заказа Указывается идентификатор цели при завершении оформления заказа. Поле доступно при включенной опции "Использовать цели счетчика Яндекс.Метрики".
Идентификатор цели при оформлении заказа в 1 клик Указывается идентификатор цели при завершении оформления заказа в 1 клик. Поле доступно при включенной опции "Использовать цели счетчика Яндекс.Метрики".

Настройка формы добавления товара в корзину

Для вывода формы добавления товара в корзину необходимо в шаблоне соответствующего компонента, например Элементы раздела (bitrix:catalog.section), добавить в нужное вам место элемент:

Форма добавления товара:

<button data-module="craftsolshop__click-buy" data-id="<?=$arResult['ID']?>">В корзину</button>

В зависимости от компонента, в шаблон которого будет добавлена форма, используйте для передачи ID товара следующее:
  • bitrix:catalog.section - <?=$arElement["ID"]?>
  • bitrix:catalog.detail - <?=$arResult["ID"]?>
Код кнопок приведенный выше подходит для интеграции в шаблон компонентов Элементы раздела (bitrix:catalog.section) и Элемент каталога детально (bitrix:catalog.detail) для типового решения Корпоративный сайт услуг.

Настройка уведомлений

Процесс функционирования сайта предполагает взаимодействие с администраторами и посетителями сайта. В случае оформления заказа необходимо своевременно получать соответствующее уведомление.

Для этого в модуле предусмотрены следующие события:
  • CRAFTSOL_SHOP_NEW_ORDER - создание заказа
  • CRAFTSOL_SHOP_ORDER_CANCEL - отмена заказа
  • CRAFTSOL_SHOP_ORDER_PAID - оплата заказа
E-mail уведомления могут быть отправлены как администратору сайта, так и покупателю, оформившему заказ.

Для получения уведомления администратором необходимо заполнить поле "E-mail адрес для отправки уведомлений о заказах" в настройках модуля:

 
Покупатель может получить электронное письмо только в том случае, если в форме оформления заказа включено поле E-mail и пользователь заполнил его при оформлении.

Создание заказа

В системе предусмотрено почтовое событие CRAFTSOL_SHOP_NEW_ORDER. Данное событие вызывается непосредственно после оформления заказа.

Для администратора магазина и покупателя созданы два почтовых шаблона с темами, первый из которых отправляется администратору мазина, второй - покупателю:
  1. #SITE_NAME#: Оформлен заказ N#ORDER_ID#
  2. #SITE_NAME#: Оформление заказа N#ORDER_ID#
Почтовые шаблоны расположены на странице Настройки > Настройки продукта > Почтовые события > Почтовые шаблоны. Чтобы редактировать почтовый шаблон, выберите пункт Изменить в меню действий нужного шаблона.

Параметр Описание Откуда
#SITE_NAME# Название сайта Настройки продукта
#ORDER_ID# Идентификатор заказа Модуль
#ORDER_DATE# Дата оформления заказа Модуль
#ORDER_DISCOUNT# Величина скидки Модуль
#DELIVERY_PRICE# Стоимость доставки Модуль
#DELIVERY_NAME# Название службы доставки Модуль   
#PRICE# Сумма заказа Модуль
#ORDER_LIST# Список товаров в заказе Модуль
#ORDER_USER# Имя пользователя Форма оформления заказа

Отмена заказа

В системе предусмотрено почтовое событие CRAFTSOL_SHOP_ORDER_CANCEL. Данное событие вызывается непосредственно после отмены заказа.

Для администратора магазина и покупателя созданы два почтовых шаблона с темой #SITE_NAME#: Отмена заказа N#ORDER_ID#. Шаблоны различаются значением в поле Кому:
  1. Покупателю отправляется шаблон со значением #EMAIL#
  2. Администратору: #SALE_EMAIL#
Почтовые шаблоны расположены на странице Настройки > Настройки продукта > Почтовые события > Почтовые шаблоны. Чтобы редактировать почтовый шаблон, выберите пункт Изменить в меню действий нужного шаблона.

Параметр Описание Откуда
#SITE_NAME# Название сайта Настройки продукта
#ORDER_ID# Идентификатор заказа Модуль
#ORDER_DATE# Дата оформления заказа Модуль
#ORDER_CANCEL_DESCRIPTION# Причина отмены заказа Модуль

Оплата заказа

В системе предусмотрено почтовое событие CRAFTSOL_SHOP_ORDER_PAID. Данное событие вызывается непосредственно после отмены заказа.

Для администратора магазина и покупателя созданы два почтовых шаблона с темой #SITE_NAME#: Заказ N#ORDER_ID# оплачен. Шаблоны различаются значением в поле Кому:
  1. Покупателю отправляется шаблон со значением #EMAIL#
  2. Администратору: #SALE_EMAIL#
Почтовые шаблоны расположены на странице Настройки > Настройки продукта > Почтовые события > Почтовые шаблоны. Чтобы редактировать почтовый шаблон, выберите пункт Изменить в меню действий нужного шаблона.

Параметр Описание Откуда
#SITE_NAME# Название сайта Настройки продукта
#ORDER_ID# Идентификатор заказа Модуль
#ORDER_DATE# Дата оформления заказа Модуль

События

Событие Вызывается С версии
OnBeforeItemAdd Перед добавлением товара в корзину. Используется для формирования текстового представления переданных параметров.        1.0.1
OnAfterItemLoad После загрузки информации о товаре, но перед ее выводом. Можно использовать для формирования цены в зависимости от каких-либо параметров.        1.0.1

Для сбора параметров в публичной части проекта предусмотрено использование функции craftsolCollectParams.

OnBeforeItemAdd

функция-обработчик(
 array &arFields
);
Событие "OnBeforeItemAdd" вызывается непосредственно перед добавлением товара в корзину, и может быть использовано для задания визуального представления переданных параметров.

Параметры

Параметр Описание
$arFields Массив переданных параметров в момент добавления

Элементы

Поле Описание
ID Идентификатор элемента
QUANTITY  Количество добавляемого товара
PROPERTIES Массив переданных параметров при добавлении товара в корзину
PROPERTIES_TEXT Массив параметров для визуального отображения, каждый элемент представляет из себя ассоциативный массив с ключами
  • NAME - Название параметра
  • VALUE - Значение параметра

Пример функции-обработчика:

AddEventHandler("craftsol_shop", "OnBeforeItemAdd", Array("MyEventHandlers", "OnBeforeItemAddHandler"));

class MyEventHandlers
{
    function OnBeforeItemAddHandler(&$arFields) {
        $arFields["PROPERTIES_TEXT"][] = array(
            "NAME" => "Размер",
            "VALUE" => "S"
        );
    }
}


OnAfterItemLoad

функция-обработчик(
 array &arFields
);
Событие "OnAfterItemLoad" вызывается после загрузки параметров товара, и может быть использовано для переопределения некоторых полей, например, мы можем изменить цену товара.

Параметры

Параметр Описание
$arFields Массив параметров товара

Элементы

Поле Описание
ELEMENT_ID
Идентификатор элемента
QUANTITY
Количество товара, можно использовать, например, для изменения цены товара в зависимости от покупаемого количества
PRICES
Массив, который содержит информацию о цене товара
  • PRICE - цена товара
  • WITHOUT_DISCOUNT - цена товара без скидки (если она есть)
PROPERTIES Массив переданных параметров при добавлении товара в корзину

Пример функции-обработчика:

<?
AddEventHandler("craftsol_shop", "OnAfterItemLoad", Array("MyEventHandlers", "OnAfterItemLoadHandler"));

class MyEventHandlers
{
    function OnAfterItemLoadHandler(&$arFields) {
        if (!empty($arFields["PROPERTIES"]["SIZE"])) {
            switch ($arFields["PROPERTIES"]["SIZE"]) {
                case "S":
                    $arFields["PRICES"]["PRICE"] = 10000;
                    break;
                case "L":
                    $arFields["PRICES"]["PRICE"] = 20000;
                    break;
            }
        }
    }
}
?>

craftsolCollectParams

На стороне фронтенда для сбора дополнительных параметров требуется объявить функцию craftsolCollectParams, которая принимает в качестве аргумента кнопку В корзину.

От данной кнопки можно найти и собрать дополнительные параметры товара.

Данная функция должна возвращать объект, в зависимости от которого Вы будете изменять цену. Данный объект будет отправлен в момент добавления товара в корзину и сохранен соответственно в базе данных.

function craftsolCollectParams(elem){
    return {
        size: 'L'
	} 
}