Как правильно вывести списком (по алфавиту)?

Сделал такой код:
{$nmad=fn_get_all_brands()}

{if $nmad}
{$size = 4}
{split data=$nmad size=$size assign="splitted_filter" preverse_keys=true}

<div class="ty-features-all">
{foreach from=$splitted_filter item="group"}
    {foreach from=$group item="ranges" key="index"}
    {strip}
    <div class="ty-features-all__group ty-column6">
            {if $ranges}
			
                {include file="common/subheader.tpl" title=$ranges.variant|substr:0:1}
                <ul class="ty-features-all__list">
                    <li class="ty-features-all__list-item"><a href="{"product_features.view?variant_id=`$ranges.variant_id`"|fn_url}" class="ty-features-all__list-a">{$ranges.variant|fn_text_placeholders}</a></li>
            </ul>
            {else}&nbsp;{/if}
    </div>
    {strip}
    {/foreach}
{/foreach}
</div>
{/if}

при выводе получаю бренды в таком формате:

A
Adidas

A
Ambrella

D
Dior

то есть получается дубликат алфавита (буквы) для каждого бренда, не пойму как поместить Ambrella и Adidas под одним алфавитом, прошу помочь !!

Как вариант. В начале ставите

{$letter = ''}

и вот эту строку

{include file="common/subheader.tpl" title=$ranges.variant|substr:0:1}

меняете на

{$current_letter = $ranges.variant|substr:0:1}
{if $current_letter != $letter}
{include file="common/subheader.tpl" title=$current_letter}
{$letter = $current_letter}
{/if}
2 лайка