Перейти к содержимому

Как добавить характеристики товаров в уведомления о заказах

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

Отредактируйте шаблон уведомления в разделе «Магазин → Настройки → Уведомления».

Вставьте следующий код перед строкой {foreach $order.items as $item}:

{$features_products = []}
{$items_product_ids = []}
{$items_products = []}
{foreach $order.items as $item}
{$product = $wa->shop->product($item.product_id)}
{if $product.name|default:''}
{$features_products[$item.product_id] = $product}
{$items_product_ids[$item.id] = $item.product_id}
{/if}
{/foreach}
{if $features_products}
{$features = $wa->shop->features($features_products)}
{/if}
{if $features}
{foreach $order.items as $item}
{if !empty($items_product_ids[$item.id])}
{$items_products[$item.id] = $features_products[$item.product_id]}
{/if}
{/foreach}
{/if}

Этот код собирает информацию о всех товарах в заказе и их характеристиках.

Шаг 2. Выведите характеристики в нужном месте

Заголовок раздела «Шаг 2. Выведите характеристики в нужном месте»

Вставьте код отображения характеристик между строками {foreach $order.items as $item} и {/foreach}:

{if !empty($items_products[$item.id].features)}
<ul>
{foreach $items_products[$item.id].features as $feature_code => $feature_value}
{if !empty($features[$feature_code])}
<li>
{$features[$feature_code].name|escape}:
{if is_array($feature_value)}
{implode(', ', $feature_value)|escape}
{else}
{$feature_value|escape}
{/if}
</li>
{/if}
{/foreach}
</ul>
{/if}

Этот код выводит список характеристик для каждого товара.

Код из шага 2 можно разместить, например, сразу после блока вывода названия товара:

<p style="
font-style:normal;
font-variant:normal;
font-weight:normal;
font-size: {if $_is_service}12{else}14{/if}px;
line-height:16px;
font-family:Helvetica,Arial,sans-serif;
">
{if !$_is_service}
<a href="{$item.product.frontend_url|default:'javascript:void(0);'}">
<font style="text-decoration: underline;">{if $_is_service}+ {/if}{$item.name|escape}</font>
{if !empty($item.sku_code)} <font style="color: #aaaaaa; font-size: 0.8em;">{$item.sku_code|escape}</font>{/if}
</a>
{else}
{if $_is_service}+ {/if}{$item.name|escape}
{if !empty($item.sku_code)} <font style="color: #aaaaaa; font-size: 0.8em;">{$item.sku_code|escape}</font>{/if}
{/if}
{if !empty($item.download_link)}<a href="{$item.download_link}"><strong>Скачать</strong></a>{/if}
</p>

В результате в уведомлении о заказе рядом с каждым товаром отобразится список его характеристик: цвет, размер, материал и другие.