Модификатор shk_widget для плагина PHx

Описание

Модификатор служит для создания виджетов (выпадающий список, радиокнопка, чекбокс) параметров товаров в интернет-магазине. Работает совместно со сниппетом Shopkeeper. Можно использовать на странице подробного описания товара или в чанке сниппета catalogView (или Ditto).

Установка

  1. Проверить чтобы файл модификатора install/_upload/assets/plugins/phx/modifiers/shk_widget.phx.php был загружен в папку assets/plugins/phx/modifiers/ вашего сайта.
  2. Установить плагин PHx (http://modxcms.com/extras/package/?package=342).
  3. Создайте параметр TV с типом ввода "Textarea" или "Text". (например "param1").
  4. При добавлении (и редактировании) товара параметры задаются по такому принципу:
    Параметр1==Цена1||Параметр2==Цена2||...

    Пример (первое значение пусто):
    ==||Подарочная упаковка==35||Подарочная сумочка==50
    Для чекбокса: Доставка==150

    Можно задать параметры со значением "0". Это полезно для параметров, которые не влияют на цену (например цвет). Пример: синий==0||зеленый==0||красный==0 Это подходит только для select, radio или checkbox. Про "radioimage" читайте ниже.

    Если в значении доп.параметра указать его цену с символом "*" (звездочка без кавычек), то цена товара умножится на цену доп. параметра. Пример значения доп. параметра: 100 г.==*1|150 г.==*1.5||200 г.==*2

Пример использования

[+param1:shk_widget=`radio:param1:wraptag:first_selected`+]

Параметры модификатора

первый параметр - тип создаваемого элемента. Возможные значения: select, radio, checkbox, radioimage;

второй параметр - имя параметра TV;

Далее параметры можно вводить в произвольном порядке

first_selected - отметить первое значение элемента;

wraptag - обернуть тегом DIV. Может использоваться для radio и checkbox;

desc_page - указать, если параметр выводится на странице товара-документа MODx.


Создание списка доступных цветов, материалов и т.п.

Тип (format) виджета radioimage служит для визуального представления списка доступных цветов или материалов для товара. Картинки цветов, материалов и т.п. загружаются с помощью TV-image, при редактировании товара можно выбрать их из списка.

  1. Создайте в дереве документов раздел, например "Материалы". ID этого раздела (указан в скобках) позже понадобится.
  2. В этом разделе создайте для каждого материала (цвета или т.п.) отдельную страницу. Для всех материалов нужно ввести свое название (заголовок).
    Если для этого раздела нет TV с типом ввода "Image", создайте его (запомните ID, которое указано в скобках после названия). Загрузите для каждого материала картинку.
  3. Создайте новый TV-параметр. "Элементы" -> "Управление элементами" -> "Параметры (TV)" -> "Новый параметр (TV)".
    • Имя параметра: например "material" (без кавычек).
    • Заголовок: например "Материал".
    • Тип ввода: Listbox (Multi-Select) или Check Box
    • В поле Возможные значения введите такой запрос:
      @SELECT cnt.pagetitle, tvc.id FROM modx_site_content cnt, modx_site_tmplvar_contentvalues tvc WHERE cnt.id = tvc.contentid AND tvc.tmplvarid = 4 AND cnt.parent = 48
      где 4 - ID TV-картинки, 48 - ID раздела со страницами материалов, modx_ - префикс таблиц в БД, заданный при установке MODx.
    • Визуальный компонен: Delimited List
        Delimiter - "," (запятая без кавычек).
  4. В блоке "Доступ шаблонов" выберите шаблон товаров (чтобы TV был доступен при редактировании товаров).
  5. Нажмите "Сохранить". Теперь для каждого товара можно выбрать материал (цвет или т.п.) из списка. Для выделения нескольких пунктов используйте клавишу CTRL или SHIFT.

Пример использования в шаблоне товара-документа MODx:

<div class="materials">[*material:shk_widget=`radioimage:material:first_selected`*]</div>