Опции товаров miniShop2 — создание и вывод

Опции товаров miniShop2 MODX Revo

Опции товаров miniShop2 предназначены для расширения стандартных свойств товара (если их не достаточно) — т.е. их создаем для различных характеристик товара.

Создание опций

Для создания опций перейдите в «Пакеты» -> «miniShop2» -> «Настройки» и перейдите во вкладку «Опции».

Переход во вкладку создания Опций

Для создания опции необходимо нажать кнопку «Создать» и заполнить в появившемся окне дополнительную информацию:

  • Ключ — идентификатор характеристики в системе, определяющий ее плейсхолдер на фронтэнде. Обязательно к заполнению.
  • Название — отображаемый заголовок характеристики.
  • Описание (не обязательно).
  • Единица измерения (если есть).
  • Группа — категория в системе MODX, будет выводиться в табе на странице опций товара.
  • Тип свойства — определяет допустимый формат заполнения значения.

Вы можете фильтровать уже созданные характеристики при помощи дерева категорий товаров, расположенной в левой части страницы. Также при создании характеристики можно сразу определить ее к соответствующим категориям товаров, выбрав их при помощи дерева слева.

Созданные характеристики товаров отображаются на странице товара в соответствующей вкладке.

Вывода опций товара

Для вывода опций нужно использовать сниппет msProductOptions.

Параметры msProductOptions

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

Вывод опций

Сниппет рассчитывает на работу с чанком Fenom и передаёт в него всего одну переменную $options с массивом вариантов опций.

Вывод по умолчанию: [[msProductOptions]]

Fenom: {'msProductOptions' | snippet}

Как изменить внешний вид вывода

Для изменения внешнего вида, вам нужно сделать копию чанка tpl.msProductOptions, к примеру если работаем с файлами msProductOptions.tpl отредактировать вывод, например так:

{foreach $options as $option}
    <div class="col-6">
        {$option.caption}: <strong>{if $option.value is array} {$option.value | join : ', '}
        {else} {$option.value} {/if}</strong>
    </div>
{/foreach}

и затем вывести с параметром tpl:

{'msProductOptions' | snippet: [
    'tpl' => '@FILE chunks/shop/msProductOptions.tpl'
]}

Как вывести определенные опции и как исключить опции из вывода

Если хотите вывести какие-то определенные опции, воспользуйтесь параметром onlyOptions:

{'msProductOptions' | snippet: [
    'onlyOptions' => 'name_options1,name_options2',
]}

А если хотите вывести все опции кроме каких-то определенных, воспользуйтесь параметром ignoreOptions:

{'msProductOptions' | snippet: [
    'ignoreOptions' => 'name_options1,name_options2',
]}

Вывод опций в выборке (в категории)

modparser

[[!msProductOptions? 
     &product=`[[+id]]` 
     &onlyOptions=`name_options1,name_options2` 
     &tpl=`tpl.msProductOptions.custom`
]]

fenom

{'msProductOptions' | snippet: [
   'product' => '$id',
   'onlyOptions' => 'name_options1,name_options2',
   'tpl' => '@FILE chunks/shop/msProductOptions.tpl',
]}

Дополнительно: Как посмотреть все доступные плейсхолдеры

Вы можете увидеть все доступные плейсхолдеры просто указав пустой чанк:

<pre>[[msProductOptions?tpl=``]]</pre>

все доступные плейсхолдеры

Домашнее задание

Создайте все необходимые опции для карточек товаров (в моем случае для оферов: Первый займ, Повторный займ, Рассмотрение, Ставка, Срок и т.д.). Адрес сайта и партнерскую ссылку вынесу в обычные TV поля. После создания всех опций, пробегитесь по ранее созданным карточками и заполните их.

Поделиться с друзьями
Алексей

Веб-дизайнер и SEO оптимизатор. Занимаюсь созданием сайтов с 2010 года и их продвижение с 2012 года!

Оцените автора
( 1 оценка, среднее 5 из 5 )
Web-Revenue.ru
Добавить комментарий

  1. Аноним

    Здравствуйте, подскажите пожалуйста, как сниппетом msProductOptions выводить множество опций в select?
    То есть что бы они не выводились все подряд как сейчас: https://prnt.sc/vEqh1smtENj-
    А каждая опция отдельным пунктом так: https://prnt.sc/uUGp1ixqDMVT
    Заранее спасибо!

    Ответить
  2. Nick Shadow

    Спасибо за статью. Все доступно. Жаль только, что с дополнительными опциями работает отдельный сниппет. не понятно, как сделать выбоку товаров имеющих определенную опцию?

    Ответить
    1. Алексей Мордовский
      Ответить