Как вывести выбранные характеристики товара в каталоге Shop-Script

По умолчанию в Shop-Script у товара есть массив $p.features, в котором хранятся все характеристики. Иногда нужно показывать только определённые характеристики — например, размер и цвет.

Разберём, как это сделать в шаблоне list-thumbs.html.

1. В самое начало файла, добавляем код {foreach $products as $p}

{$features = $wa->shop->features($products)}

2. Указываем список нужных характеристик

Для начала задаём массив кодов характеристик, которые хотим показывать:

{assign var="show_features" value=['size','color']}

Вместо size и color можно подставить любые коды характеристик из вашей админки.

3. Перебираем характеристики и фильтруем

Проходим по всем характеристикам товара и выводим только те, что указаны в массиве show_features

4. Результат

На карточке товара будут выводиться только нужные характеристики — например, «Размер» и «Цвет».

Если характеристика может содержать несколько значений (например, несколько цветов), они будут выведены через запятую.

Полный рабочий вариант для вставки в list-thumbs.html:

{assign var="show_features" value=['size','color']}
{$features = $wa->shop->features($products)}

{foreach $products as $p}

....
{if !empty($p.features)}
<div class="catalog-feature">
{foreach $p.features as $f_code => $f_value}
{if in_array($f_code, $show_features)}
<div class="feature-item">
<span class="feature-name">{$features[$f_code].name}:</span>
<span class="feature-value">{if is_array($f_value)}{implode(', ', $f_value)}{else}{$f_value}{/if}</span></div>{/if}
{/foreach}
</div>
{/if}
....

{/foreach}

Смотрите также