Skip to content
  1. Компоненты
  2. msCategoryOptions

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_,-~]/

Пример описания опции Сезон

yaml
caption: Сезон
unit: ''
description: 'Укажите сезонность товара'
key: season
type: option
required: false
collection: false
option:
  - Весна
  - Демисезон
  - Еврозима
  - Зима
  - Лето
  - 'На любой сезон'
  - Осень

Виды опций ​

  • text - текстовая
  • int - числовая целое значение
  • float - числовая дробное значение
  • bool - булевая
  • option - опциональная

Сниппет для вывода опций msCategoryOptions ​

Параметры ​

ПараметрПо умолчаниюОписание
tpltpl.msProductOptionsЧанк оформления
productИдентификатор товара. Если не указан, используется id текущего документа.
onlyOptionsВыводить только этот список опций, указанный через запятую.
ignoreOptionsОпции, которые не нужно выводить в списке, через запятую.
sortOptionsПорядок опций для вывода, указанный через запятую.
limitЛимит опций.

Оформление ​

Сниппет рассчитывает на работу с чанком Fenom и передаёт в него всего одну переменную options с массивом вариантов опций. Вы можете увидеть все доступные плейсхолдеры просто указав пустой чанк:

modx
<pre>
  [[msCategoryOptions?
    &options=`type,features`
    &tpl=``
  ]]
</pre>
Вывод
php
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 - опций категории.

Дерево категорий

Вы можете разархивировать его, внести нужные изменения и загрузить обратно.