Как стать автором
Обновить

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

Время на прочтение2 мин
Количество просмотров4K

Продолжается разработка модуля 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 (можно скачать из панели управления).
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 7: ↑6 и ↓1+5
Комментарии19

Публикации

Истории

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань