Pull to refresh

Вышел Shopkeeper 2.0 beta1 для MODX Revolution

Reading time2 min
Views4K

Продолжается разработка модуля Shopkeeper для MODx Revolution. Этот модуль (и сниппет) многим уже известен и используется на MODx Evolution для создания интернет-магазинов.
Кроме переноса Шопкипера на Рево планируется полный рефакторинг кода с учетом накопленного опыта. Но уже сейчас можно использовать версию beta1 для создания простенького магазина.

Что уже готово:
  • Полная автоматическая установка из системы управления;
  • Добавление товаров в корзину;
  • Отправка заказа на почту менеджеру магазина и в модуль управления заказами;
  • Возможность устанавливать заказам статусы;
  • Возможность редактировать статусы и их цвета;
  • Возможность размещения товаров в отдельном контексте MODX (удобно для индивидуальной настройки каталога);
  • Привязка заказов к зарегистрированным пользователям.








Установить пакет очень просто:
  1. Загрузите архив shopkeeper-2.0-beat1.transport.zip в папку core/packages/ вашего сайта.
  2. В панеле управления перейдите «Система» -> «Управление пакетами» -> «Добавить новый пакет» -> «Искать пакеты локально» -> «Дальше».
  3. В таблице пакетов появится пакет «shopkeeper». Нажмите кнопку «Установить».
  4. Закончите установку.


Как и ранее по-максимуму используются готовые дополнения для MODX. Для вывода товаров используется сниппет getResources. Для отправки заказа на почту и в систему управления заказами используется сниппет FormIt. Для регистрации и авторизации можно использовать сниппет Login. В комплект также входит сниппет shk_fihook, который используется как hook для FormIt, а также плагин contextSwitch для переключения контекстов.

Размещение товаров в отдельном контексте не обязательно, но рекомендуется, если планируется много товаров (больше 2000). Это позволит для каталога сделать индивидуальные настройки, например, при необходимости отключить дружественные URL (friendly_urls).
В целом отдельный контекст это почти тоже самое как отдельная таблица БД в Evolution. Я пока не тестировал скорость работы при большом кол-ве товаров (ресурсов MODX), но при отключенных friendly_urls (как временное решение) проблем быть не должно.



Создание контекста для товаров:
  1. в меню перейти «Система» -> «Контексты», нажать кнопку «Создать новый». В поле «Ключ контекста» ввести «catalog». Далее нажать правой кнопке на строке контекста в списке и выбрать «Обновить контекст».
  2. Настройки контекста:
    site_start: 20
    error_page: 21
    unauthorized_page: 22
    где 20 — ID документа каталога, 21 — страница 404, 22 — страница 403 (доступ запрещен).
  3. Создать в контексте «catalog» документ-контейнер «Каталог». Внутри создать структуру каталога.
  4. В контекте «web» создать документ-ссылку «Каталог», в поле «Ссылка» ввести «catalog/».
  5. Если используются дружественные URL и сервер Apache, в .htaccess заменить строку
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    на
    RewriteRule ^(catalog)?(\/)?(.*)$ index.php?c=$1&q=$1$2$3 [L,QSA]

  6. Проверить чтобы был установлен плагин contextSwitch (core/components/shopkeeper/elements/plugins/context_switch.php).

Пример вызова сниппета Shopkeeper:

[[!Shopkeeper? &cartType=`full`&flyToCart=`image`&orderFormPage=`12`]]


Вывод товаров из контекста «catalog»:

[[!getResources?
&context=`catalog`
&tplPath=`[[++core_path]]components/shopkeeper/elements/chunks/ru/`
&tpl=`@FILE chunk_shopStuff.tpl`
&includeTVs=`1`
&parents=`9`
]]


Обновлено
Уже доступна версия beta3 (можно скачать из панели управления).
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+5
Comments19

Articles

Change theme settings