msCategoryOptions
Компонент реализует функционал дополнительных опций в зависимости от категории товара.
Попробовать пакет перед покупкой можно на modhost.pro.
Быстрый старт
Для работы вам нужен MODX не ниже 2.3 и PHP не ниже 5.4.
Особенности
- работа с miniShop2
- готовый список категорий, опций и их значений
Установка
- Подключите наш репозиторий
- Установите pdoTools - это библиотека для быстрой работы с БД и оформлением, необходима для многих компонентов
- Установите miniShop2 - это магазин на основе которого реализован функционал заказов и оплаты
- Установите msCategoryOptions и активируйте функционал для нужных товаров - настройка
working_templates
Попробовать пакет перед покупкой можно на modhost.pro, на нём эти дополнения можно выбрать прямо при создании сайта.
Описание
Компонент msCategoryOptions позволяет расширять опции товара в зависимости от категории.
Нужно указать категорию товара, опции соответствующие категории будут доступны на вкладке ресурса.
К примеру выбрали категорию товара Телевизор, на вкладке Опции категории будут подгружены опции данной категории с описанием и возможными значениями.
Все доступные категории и их опции можно посмотреть в репозитории. На текущий момент доступны следующие категории товаров:
- Автотовары
- Антиквариат
- Аптека
- Бытовая техника
- Галантерея и украшения
- Дом
- Детям и мамам
- Канцелярия
- Красота и здоровье
- Обувь
- Одежда
- Продукты питания
- Продукт медиа
- Печатные книги
- Ремонт и строительство
- Спорт и отдых
- Зоотовары
- Хобби и творчество
- Электроника
- 18+
Структура опции
caption
- заголовокunit
- единица измеренияdescription
- краткое описаниеtype
- типrequired
- флаг указывающий что опция является обязательнойcollection
- флаг указывающий что опция является набором значенийoption
- массив предустановленных значений опции
Все файлы опций ведутся в формате YAML, имена допускают символы /[^a-zA-Z-а-яА-Я-0-9_,-~]/
Пример описания опции Сезон
caption: Сезон
unit: ''
description: 'Укажите сезонность товара'
key: season
type: option
required: false
collection: false
option:
- Весна
- Демисезон
- Еврозима
- Зима
- Лето
- 'На любой сезон'
- Осень
Виды опций
text
- текстоваяint
- числовая целое значениеfloat
- числовая дробное значениеbool
- булеваяoption
- опциональная
Сниппет для вывода опций msCategoryOptions
Параметры
Параметр | По умолчанию | Описание |
---|---|---|
tpl | tpl.msProductOptions | Чанк оформления |
product | Идентификатор товара. Если не указан, используется id текущего документа. | |
onlyOptions | Выводить только этот список опций, указанный через запятую. | |
ignoreOptions | Опции, которые не нужно выводить в списке, через запятую. | |
sortOptions | Порядок опций для вывода, указанный через запятую. | |
limit | Лимит опций. |
Оформление
Сниппет рассчитывает на работу с чанком Fenom и передаёт в него всего одну переменную options
с массивом вариантов опций. Вы можете увидеть все доступные плейсхолдеры просто указав пустой чанк:
<pre>
[[msCategoryOptions?
&options=`type,features`
&tpl=``
]]
</pre>
Вывод
Array
(
[options] => Array
(
[type] => Array
(
[path] => Электроника/ТВ/Телевизор/Тип.yml
[depth] => 3
[title] => Тип
[import] => /Электроника/ТВ/Тип.yml
[caption] => Тип
[unit] =>
[description] => Выберите из списка наиболее подходящий тип товара. Определить его можно по вопросу "Что это?".
[key] => type
[type] => option
[required] => 1
[collection] =>
[option] => Array
(
[0] => Автомобильный телевизор
[1] => Плазменная панель
[2] => Портативный телевизор
[3] => Телевизор
)
[value] => Array
(
[0] => Телевизор
)
)
[features] => Array
(
[path] => Электроника/ТВ/Телевизор/Особенности.yml
[depth] => 3
[title] => Особенности
[import] => /Электроника/ТВ/Особенности.yml
[caption] => Особенности
[unit] =>
[description] => Выбираются особенности устройства
[key] => features
[type] => option
[required] =>
[collection] => 1
[option] => Array
(
[0] => Android TV
[1] => HDR
[2] => Smart TV
[3] => WiFi модуль
[4] => Изогнутый экран
[5] => Поддержка 3D
[6] => Поддержка iTunes
[7] => Управление жестами
)
[value] => Array
(
[0] => Android TV
[1] => WiFi модуль
[2] => Изогнутый экран
)
)
)
)
Совместимость
Опции хранятся в родной таблице товаров msProductOption
c префиксом co_
учитывайте это при работе с другими дополнениями.
Дерево категорий
Дерево категорий представлено в виде архива каталога папок - категорий и файлов yml - опций категории.
Вы можете разархивировать его, внести нужные изменения и загрузить обратно.