В данном примере массив данных smarty для брендов разбивается на блоки по алфавиту. Поддерживает как английский, так и кириллицу. Данное решение можно использовать практически для любого массива smarty.
html
{$chars = ['А' => [],'Б' => [],'В' => [],'Г' => [],'Д' => [],'Е' => [],'Ё' => [],'Ж' => [],'З' => [],'И' => [],'Й' => [],'К' => [],'Л' => [],'М' => [],'Н' => [],'О' => [],'П' => [],'Р' => [],'С' => [],'Т' => [],'У' => [],'Ф' => [],'Х' => [],'Ц' => [],'Ч' => [],'Ш' => [],'Щ' => [],'Ъ' => [],'Ы' => [],'Ь' => [],'Э' => [],'Ю' => [], 'Я' => [],'A' => [],'B' => [],'C' => [],'D' => [],'E' => [],'F' => [],'G' => [],'H' => [],'I' => [],'G' => [],'K' => [],'L' => [],'M' => [],'N' => [],'O' => [],'P' => [],'Q' => [],'R' => [],'S' => [],'T' => [],'U' => [],'V' => [],'W' => [],'X' => [],'Y' => [],'Z' => [] ]} {foreach $brands as $b} {$name = $b.name} {$char = $name|truncate:1:""|upper} {$chars[$char][] = $b} {/foreach} {foreach $chars as $key => $data} {if $data} <strong>{$key}</strong><hr/> {foreach $data as $b} <span class="brand"> <a href="{$b.url}">{if $b.image}<img src="{$wa_url}wa-data/public/shop/brands/{$b.id}/{$b.id}{$b.image}">{else}{$b.name}{/if}</a> {$b.summary} </span> {/foreach} <hr/> {/if} {/foreach}