Как доба添ть флаг страны в список характеристик товара
В этой инструкции показано, как сделать так, чтобы рядом с названием страны в карточке товара отображался её флаг. Это помогает покупателям быстрее находить товары нужного происхождения.
![]()
Шаг 1. Создание характеристики
Заголовок раздела «Шаг 1. Создание характеристики»- Создайте характеристику типа «Текст / Выбор одного значения из списка».
- В качестве значений сохраните 3-буквенные коды стран.
- Найдите идентификатор этой характеристики в разделе «Настройки → Типы и характеристики товаров» — он понадобится для настройки отображения флага.
- Укажите нужное значение в свойствах товара.
Шаг 2. Редактирование шаблона страницы товара
Заголовок раздела «Шаг 2. Редактирование шаблона страницы товара»Где найти нужный файл
Заголовок раздела «Где найти нужный файл»Откройте тему дизайна вашего магазина и найдите файл, который отвечает за вывод списка характеристик товара. Обычно это файл product.html.
В теме дизайна «Дефолт 3.0» нужный участок кода выглядит так:
{foreach $_features as $_feature_id => $_feature_value} {$_true_params = ["weight", "brand", "model", "width", "height", "depth", "color", "manufacturer"]} {$_is_good_param = ($_feature_id|in_array:$_true_params)} {$_itemprop = ""} {if $_is_good_param}{$_itemprop = $_feature_id}{/if} {$_feature = ifset($sku_features, $_feature_id, null)}
{if $_feature && $_feature.type == 'divider'} <tr class="divider"> <td colspan="2">{$_feature.name|escape}</td> </tr> {elseif $_feature} <tr> <td class="name">{$_feature.name|escape}</td> <td class="value" itemprop="{$_itemprop|escape}"> {if is_array($_feature_value)} {if $_feature.type == 'color'} {implode('', $_feature_value)} {else} {implode(', ', $_feature_value)} {/if} {else} {$_feature_value} {/if} </td> </tr> {/if}{/foreach}Добавление списка стран
Заголовок раздела «Добавление списка стран»Добавьте перед циклом foreach массив с названиями стран и их кодами:
{$feature_countries = [ 'Россия' => 'rus', 'Соединенные Штаты Америки' => 'usa', 'Германия' => 'deu']}Добавление условия для флага
Заголовок раздела «Добавление условия для флага»Найдите строку, которая выводит одиночное значение характеристики:
...{else} {$_feature_value} {* вот эта строка *}{/if}Добавьте перед ней условие для отображения флага:
{* код характеристики с названиями и кодами стран *}{if $_feature_id == 'country'} {$country_key = trim($_feature_value)} {if !empty($feature_countries[$country_key])} <img src="{$wa_url}wa-content/img/country/{$feature_countries[$country_key]}.gif" style="display: inline-block;"> {/if}{/if}
{$_feature_value}Готовый пример кода
Заголовок раздела «Готовый пример кода»Полный фрагмент кода с добавленным условием для отображения флагов:
{$feature_countries = [ 'Россия' => 'rus', 'Соединенные Штаты Америки' => 'usa', 'Германия' => 'deu']}
{foreach $_features as $_feature_id => $_feature_value} {$_true_params = ["weight", "brand", "model", "width", "height", "depth", "color", "manufacturer"]} {$_is_good_param = ($_feature_id|in_array:$_true_params)} {$_itemprop = ""} {if $_is_good_param}{$_itemprop = $_feature_id}{/if} {$_feature = ifset($sku_features, $_feature_id, null)}
{if $_feature && $_feature.type == 'divider'} <tr class="divider"> <td colspan="2">{$_feature.name|escape}</td> </tr> {elseif $_feature} <tr> <td class="name">{$_feature.name|escape}</td> <td class="value" itemprop="{$_itemprop|escape}"> {if is_array($_feature_value)} {if $_feature.type == 'color'} {implode('', $_feature_value)} {else} {implode(', ', $_feature_value)} {/if} {else} {* код характеристики с названиями и кодами стран *} {if $_feature_id == 'country'} {$country_key = trim($_feature_value)} {if !empty($feature_countries[$country_key])} <img src="{$wa_url}wa-content/img/country/{$feature_countries[$country_key]}.gif" style="display: inline-block;"> {/if} {/if}
{$_feature_value} {/if} </td> </tr> {/if}{/foreach}Важно: замените
'country'на идентификатор вашей характеристики (его можно посмотреть в разделе «Настройки → Типы и характеристики товаров»). Добавьте нужные страны в массив$feature_countries, используя формат'Название страны' => 'код страны'.