Надо в нужное место того же tpl-файла добавить аналогичный фрагмент кода, только в нем $product->related_products везде заменить на $product->accessory_products. Ведь в переменной $product, которая передается в шаблон страницы товара, поле related_products содержит массив записей о связанных товарах, а поле accessory_products - массив записей о дополнительных товарах (аксессуарах).
Для примера привожу записанный выше фрагмент с необходимыми исправлениями, я пометил их синим цветом.
{* дополнительные товары *}
<div style="display: block;">
<h3>
Аксессуары
</h3>
{* если есть дополнительные товары *}
{if isset($product->accessory_products) && is_array($product->accessory_products) && !empty($product->accessory_products)}
<div class="cat">
<ul>
{* перебираем товары *}
{foreach $product->accessory_products as $p}
{* подключаем мини карточку товара *}
{include file = 'common/product-card-mini.tpl'
item = $p
hintable = false
noicon_hit = false
noicon_newest = false
noicon_actional = false
noicon_awaited = false}
{/foreach}
</ul>
</div>
{* иначе нет дополнительных товаров *}
{else}
<div class="message_notfound">
Для этого товара нет аксессуаров!
</div>
{/if}
</div>
Вообще говоря, так как этот блок повторяется на странице уже дважды, отличаясь только текстом оглавления, именем поля переменной и текстом об отсутствии товаров, то идеальным стало бы вынести блок в отдельный модуль и дважды вызывать со страницы товара, но с разными входными параметрами. То есть сам блок поместить внутри папки шаблона в файл (модуль), например именованный как common/related-products.tpl и содержащий в себе следующее (синим помечены отличия от прежнего кода):
{* модуль: дополнительные товары *}
{* *}
{* входные параметры: $title = текст оглавления *}
{* $items = массив записей о товарах *}
{* $empty = текст об отсутствующих товарах *}
<div style="display: block;">
<h3>
{$title|default:'Без оглавления!'}
</h3>
{* если получен непустой массив товаров *}
{if isset($items) && is_array($items) && !empty($items)}
<div class="cat">
<ul>
{* перебираем товары *}
{foreach $items as $p}
{* подключаем мини карточку товара *}
{include file = 'common/product-card-mini.tpl'
item = $p
hintable = false
noicon_hit = false
noicon_newest = false
noicon_actional = false
noicon_awaited = false}
{/foreach}
</ul>
</div>
{* иначе массив товаров пуст *}
{else}
<div class="message_notfound">
{$empty|default:'Нет дополнительных товаров!'}
</div>
{/if}
</div>
Тогда в файле product.tpl в нужном месте пишем два вызова этого модуля, как было сказано, с разными входными параметрами:
...
...
{* показываем блок рекомендуемых товаров *}
{include file = 'common/related-products.tpl'
title = 'Рекомендуемые товары'
items = $product->related_products|default:false
empty = 'Для этого товара нет рекомендуемых товаров!'}
...
...
{* показываем блок аксессуаров *}
{include file = 'common/related-products.tpl'
title = 'Аксессуары'
items = $product->accessory_products|default:false
empty = 'Для этого товара нет аксессуаров!'}
...
...