Как вывести выбранные характеристики товара в каталоге 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}