
msOptions
Простой сниппет для вывода конкретных опций товара. Когда заранее известно, какие опции нужны — используйте этот сниппет для максимальной производительности.
Параметры
| Параметр | По умолчанию | Описание |
|---|---|---|
| product | текущий ресурс | ID товара |
| options | Список опций через запятую | |
| tpl | tpl.msOptions | Чанк оформления |
| sortOptionValues | Параметры сортировки значений опций |
Deprecated параметры
Обратная совместимость
Следующие параметры устарели и будут удалены в будущих версиях:
&input→ используйте&product&name→ используйте&options
Примеры
Вывод цвета и размера текущего товара
fenom
{'msOptions' | snippet : [
'options' => 'color,size'
]}Для конкретного товара
fenom
{'msOptions' | snippet : [
'product' => 123,
'options' => 'color,size,material'
]}Некэшируемый вызов
fenom
{'!msOptions' | snippet : [
'options' => 'color,size'
]}С кастомным чанком
fenom
{'msOptions' | snippet : [
'options' => 'color,size',
'tpl' => 'myOptionsChunk'
]}Структура данных
Возвращает массив значений опций без метаданных:
php
[
'color' => ['Красный', 'Синий'],
'size' => ['S', 'M', 'L']
]Пример чанка
fenom
{* tpl.msOptions *}
{if $options?}
<div class="product-options">
{foreach $options as $key => $values}
<div class="option">
<strong>{$key}:</strong>
{if $values is iterable}
{$values | join : ', '}
{else}
{$values}
{/if}
</div>
{/foreach}
</div>
{/if}Когда использовать
| ✅ Подходит | ❌ Не подходит |
|---|---|
| Нужны только конкретные опции | Нужны ВСЕ опции товара |
| Не требуются метаданные | Требуется фильтрация по группам |
| Нужна максимальная производительность | Нужны названия, категории опций |
Сравнение с msProductOptions
| Критерий | msOptions | msProductOptions |
|---|---|---|
| Скорость | ⚡⚡⚡ Быстрее | ⚡⚡ Медленнее |
| Фильтрация | Только список опций | Группы, опции, сортировка |
| Метаданные | ❌ Нет | ✅ Полные (category, type) |
| Гибкость | ⭐⭐ Простой | ⭐⭐⭐⭐ Продвинутый |
| Use case | Фиксированный список | Динамический список |
Если нужны метаданные опций (категории, типы, описания) — используйте msProductOptions.
