Shopkeeper modx документація

Shopkeeper - купівельна корзина та управління замовленнями.

вимоги

  • MODx Revolution 2.0.0-RC-2 або більш пізні версії
  • PHP5 або більш пізні версії

установка компонента

  • сам компонент встановлюється стандартним шляхом
  • для додавання віджету на панель перейти Панель »Панелі» Default »Редагувати» Додати віджет »Статистика замовлень. Перетягнути в списку віджетів вгору.

Установка набору параметрів

  • відкрити Елементи »Сніппети» Shopkeeper »Параметри» Додати набір параметрів »Створити новий набір параметрів і заповнити необхідні поля для того щоб створити новий набір параметрів.
  • в списку ліворуч вибрати створений набір і при необхідності змінити параметри.
  • в шаблоні в місці, де потрібно вивести кошик, викликати сниппет Shopkeeper із зазначенням набору параметрів (cart_catalog)

З цього набору параметрів відбувається синхронізація при ajax-запитах. Параметри сниппета за замовчуванням редагувати не рекомендується, тому що при оновленні вони можуть змінитися.

В адмінці в конфігурації компонента (Система »Налаштування системи» Shopkeeper) і вказати, набір параметрів сниппета за замовчуванням, який буде застосовуватися при відправці замовлення.

Налаштування контексту

Створити контекст "catalog". Налаштування контексту:

  • error_page: 10
  • unauthorized_page: 11

де 10 - ID документа каталогу, error_page - сторінка 404, unauthorized_page - сторінка 403 (доступ заборонений)

Права доступу контексту "catalog" (Система »Контексти» catalog »Редагувати» Права доступу) повинні бути такі ж як у контексту "web". т.е .:

  • анонім, 9999, Load only
  • Administrator, 0, Administrator

Перевірити щоб був встановлений плагін "contextSwitch" (core / components / shopkeeper / elements / plugins / context_switch.php).

Якщо використовується реєстрація, потрібно створити групу користувачів.

Розширені можливості пошуку товарів

Товарам можна призначати параметри, які покупець зможе вибрати перед додаванням товару в кошик. Параметри виводяться у вигляді списку - shk_select. радіо кнопок - shk_radio або прапорців (чекбоксів) - shk_checkbox.

Вибрати тип виведення можна в налаштуваннях TV-параметра на вкладці Параметри виведення.

Значення параметрів (на сторінці редагування ресурсу (товару)) вводяться за таким принципом: назва параметра 1 == ціна 1 || назву параметра 2 == ціна 2 ||.

Можна ввести ціну параметра зі знаком множення: Вага == * 0.5 || Вага == * 1. У цьому випадку ціна товару буде помножена на ціну параметра.

У чанка сниппета getResources параметри виводяться як плейсхолдери: # 91; # 91; + tv.param1]].

На сторінці товару (в шаблоні товару) потрібно змінити ID параметра. Зробити це можна за допомогою фільтра replace:

  • Контролер параметрів виведення: core / model / modx / processors / element / tv / renders / mgr / properties /
  • Параметри виведення: manager / templates / default / element / tv / renders / properties /
  • Контролери виведення: core / model / modx / processors / element / tv / renders / web / output /

Висновок товарів з контексту з посторінковою розбивкою:

Використовуються сніпети getProducts і getPage. Замість getProducts можна використовувати getResources.

Код сниппета "include":

Відправка листів покупцеві при зміні статусу замовлення

Якщо ви хочете щоб при зміні статусу замовлення покупцеві відправлялося електронного листа, в конфігурації модуля (основні настройки) потрібно створити параметр з ключем shk.mailstatus_1. де 1 - номер статусу від нуля.

У значенні параметра вказати ім'я чанка шаблону листа, наприклад @FILE mailChangeStatus.tpl. Простір імен - вибрати "shopkeeper".

Для відправки даних замовлення на пошту і в компонент Shopkeeper використовується сніпети FormIt і shk_fihook (приклад нижче).

Після відправки замовлення на будь-якій сторінці доступні плейсхолдери з даними цього замовлення:

Інструкція з використання компонента "Управління замовленнями"

Сортування замовлень

За замовчуванням всі замовлення відсортовані по ID в зворотному порядку, тобто найновіший вгорі. Для зміни сортування натиснути на заголовок стовпця таблиці, за яким потрібно зробити сортування. Повторне натискання - зворотна сортування.

Статуси замовлень і замітки до замовлень

Для зміни статусу замовлення в рядку потрібного замовлення клікнути два рази за назвою поточного статусу і в списку, що з'явився вибрати новий статус. При цьому покупцеві буде надіслано повідомлення електронної пошти з інформацією про статус, переліком товарів, ціною і зазначеними контактними даними.

Можна вибрати кількох замовлень прапорцями і через кнопку "Масові дії" змінити для них статус. При зміні статусу через масові дії листи покупцям не відправляється.

Для того щоб зробити до замовлення якусь замітку (покупцеві не відправляється) - клікнути два рази у відповідному стовпці і ввести текст. Натиснути клавіжу "Введення" або клікнути в будь-якому вільному місці для збереження.

Для додавання товару до замовлення відкрити блок "Додати до замовлення". Заповнити поля. Якщо поле "ціна" залишити порожнім, при збереженні ціна буде взята автоматично. Натиснути кнопку "Зберегти".

У стовпці "Користувач" можна побачити ім'я користувача (якщо зареєстрований), яким зроблено замовлення. Клікнувши на посилання можна перейти на сторінку з докладною інформацією користувача.

На вкладці "Конфігурація" можна змінити назви і колір статусів і перелік способів доставки (можливість зміни способу доставки узгодити з розробником інтернет-магазину).

Висновок замовлень в компоненті управління замовленнями тільки тих користувачів, які закріплені за менеджером.

У компоненті управління замовленнями передбачена можливість виводити замовлення, які зроблені тільки користувачами, які складаються в певній групі.

Для кожного менеджера магазина можна призначити групу користувачів, замовлення від якої він зможе переглядати в компоненті.

Для цього потрібно:

Тепер в компоненті управління замовленнями менеджер зможе переглядати замовлення тільки від певної групи користувачів (наприклад "Великий гурт"). Адміністратор (що складається в групі "Administrator") бачить замовлення від будь-яких користувачів.

Використовуються сніпети getProducts і getPage. Замість getProducts можна використовувати getResources.

Шаблони і плейсхолдери

cartRowTpl - шаблон (чанк) рядки з інформацією про товар в кошику

cartTpl - шаблон (чанк) кошика

additDataTpl шаблон для доп. параметрів в кошику

  • # 91; # 91; + param]] - назва параметра і ціна;
  • # 91; # 91; + name]] - назва параметра;
  • # 91; # 91; + price]] - ціна параметра.

orderDataTpl (в сніпеті) і order_data_tpl (в настройках компонента) - шаблон для вмісту замовлення (в листі і компоненті)

  • # 91; # 91; + price_total]] - загальна ціна товарів в кошику;
  • # 91; # 91; + items_total]] - загальне число товарів в кошику;
  • # 91; # 91; + items_unique_total]] - загальне число унікальних товарів в кошику;
  • # 91; # 91; + currency]] - валюта товарів;
  • # 91; # 91; + loop]]. # 91; # 91; + end_loop]] - початок і кінець рядка даних товарів (цикл). Всередині можна знайти, плейсхолдери з cartRowTpl.

emailTpl - шаблон листи про замовлення сниппета FromIt

  • # 91; # 91; + orderID]] - ID замовлення;
  • # 91; # 91; + orderData]] - список товарів в замовленні за шаблоном "orderDataTpl";
  • # 91; # 91; + date]] - дата і час замовлення.

Вибір і додавання до замовлення методу доставки

Список методів доставки і цін можна створити в конфігурації компонента. Перше поле в рядку - найменування доставки, друге поле - ціна. Для виведення і додавання методу доставки до замовлення можна використовувати плагін "shk_delivery".

Перевірити щоб в адмінці був створений плагін з подією "OnSHKbeforeCartLoad" і який використовує код з файлу core / components / shopkeeper / elements / plugins / delivery.php.

На вкладці "Параметри" плагіна можна налаштувати шаблон для виведення списку методів доставки. Плагін створює плейсхолдер "shk_delivery".

Після відправки форми замовлення доставка буде додана до замовлення.

JS-callback функції

  • SHKfillCartCallback (form) - подана команда на додавання товару в корзину;
  • SHKemptyCartCallback () - подана команда на очистку кошика;
  • SHKloadCartCallback () - корзина завантажена / оновлена;
  • SHKtoCartCallback (form) - подана команда відправити товар в корзину.
  • SHKrecountItemCallback (count, el) - подана команда перерахувати кількість товару в кошику

Просто створіть функції з цими іменами і вони будуть викликані при певній дії.

Події для плагінів

  • OnSHKaddProduct - додавання товару в корзину. $ purchaseArray
  • OnSHKgetProductPrice - вибірка ціни товару при додаванні в кошик. $ purchaseArray
  • OnSHKcalcTotalPrice - розрахунок повної ціни товарів в кошику. $ Price_total. $ purchases
  • OnSHKbeforeCartLoad - викликається до початку формування HTML-коду кошика.
  • OnSHKcartLoad - висновок кошика. $ Items_total. $ price_total
  • OnSHKChangeStatus - зміна статусу замовлення. Доступні: $ order_id. $ Status.
  • OnSHKsaveOrder - відправка замовлення. $ order_id
  • OnSHKScriptsLoad - завантаження скриптів компонента управління замовленнями. можна довантажити свій js-файл.

оформлення замовлення

чанк shopOrderForm: core / components / shopkeeper / elements / chunks / ru / shopOrderForm.tpl

чанк shopOrderReport: core / components / shopkeeper / elements / chunks / ru / shopOrderReport.tpl

Реєстрація

Схожі статті