Сегодня небольшой урок, о дополнительных опциях minishop2, а именно разберем: как создавать, выводить доп опции, как кастомизировать (изменить) вывод дополнительных и как вывести единицы измерения этих опций.
Создание дополнительных опций
Идем в Приложения — miniShop2 — Настройки, вкладка Опции и жмем на кнопку Создать.
Далее заполняем нужные свойства и сохраняем.
Главное заполнить Ключ — на английском, без пробелов, запятых и Название на русском, так же если есть единицы измерения, то еще заполняем их.
Кастомизация вывода дополнительных опций
По умолчанию за вывод доп опций отвечает чанк tpl.msProductOptions, делаем его копию с именем tpl.msProductOptions.custom и меняем вывод под себя, например у меня bootstrap 4 и вывод изменен так:
{foreach $options as $option}
<div class="row">
<div class="col-7"><strong>{$option.caption}:</strong></div>
<div class="col-5">
{if $option.value is array}
{$option.value | join : ', '}
{else}
{$option.value}
{/if}
</div>
</div>
{/foreach}
Далее в чанке msProduct.content (лучше тоже создать его копию), заменяем вызов [[msProductOptions]] на
[[msProductOptions? &tpl=`tpl.msProductOptions.custom`]]
Вывод единиц измерения доп опций
Для того чтобы вывести единицы измерения, достаточно в чанк tpl.msProductOptions.custom прописать:
{$option.measure_unit}
получаем.
{foreach $options as $option}
<div class="row">
<div class="col-7"><strong>{$option.caption}:</strong></div>
<div class="col-5">
{if $option.value is array}
{$option.value | join : ', '} {$option.measure_unit}
{else}
{$option.value}
{/if}
</div>
</div>
{/foreach}
Если остались вопросы, спрашиваем в комментариях.










Подскажите, как вывести код цвета, если создаешь опцию с типом Множественный выбор цвета?
Посмотрите плагин https://modstore.pro/packages/integration/msoptionscolor
Переименовываю опции товара, а на странице выводятся старые названия, что сделать?
Кэш скорее всего нужно очистить)