Ответить Новая тема Новый опрос 
 Бренды по алфавиту
annetf


Новичок
Сообщений: 57
Регистрация: 24-08-2013


15-04-2021 21:36
Здравствуйте, нашла
Скрытое содержимое:
просмотр разрешен группе "Пользователи".
как изменить стандартную страницу бренды на бренды по алфавиту. Но возникла сложность в том, что код связанный с брендами начинающихся с цифры дублируется. Пожалуйста помогите, что в коде поправить, чтобы не создавались дубли.

brands.tpl
Код:
<div class="all-brands">
      
     <ul class="letter-select clearifx">
       <li><a href="#letter_0">#</a></li>
       <li><a href="#letter_A">A</a></li>
       <li><a href="#letter_B">B</a></li>
       <li><a href="#letter_C">C</a></li>
       <li><a href="#letter_D">D</a></li>
       <li><a href="#letter_E">E</a></li>
       <li><a href="#letter_F">F</a></li>
       <li><a href="#letter_G">G</a></li>
       <li><a href="#letter_H">H</a></li>
       <li><a href="#letter_I">I</a></li>
       <li><a href="#letter_J">J</a></li>
       <li><a href="#letter_K">K</a></li>
       <li><a href="#letter_L">L</a></li>
       <li><a href="#letter_M">M</a></li>
       <li><a href="#letter_N">N</a></li>
       <li><a href="#letter_O">O</a></li>
       <li><a href="#letter_P">P</a></li>
       <li><a href="#letter_Q">Q</a></li>
       <li><a href="#letter_R">R</a></li>
       <li><a href="#letter_S">S</a></li>
       <li><a href="#letter_T">T</a></li>
       <li><a href="#letter_U">U</a></li>
       <li><a href="#letter_V">V</a></li>
       <li><a href="#letter_W">W</a></li>
       <li><a href="#letter_X">X</a></li>
       <li><a href="#letter_Y">Y</a></li>
       <li><a href="#letter_Z">Z</a></li>        
     </ul>

  
     <div class="brands-by-letter">
         {$current_letter = '#'}
         {foreach from=$brands item=brand}
           {$first_letter = $brand.name|substr:0:1}
           {if $current_letter != $first_letter}
             {if !$first_letter|in_array:['0','1','2','3','4','5','6','7','8','9']}
               {$current_letter = $first_letter|upper}
               </div>
             </div>
             {/if}
              
             <div class="box-letter clearfix" id="letter_{if $current_letter == '#'}0{else}{$current_letter|upper}{/if}">
               <div class="box-title">{$current_letter|upper}</div>
               <div class="letter-content">
           {/if}
           <p>
             <a href="{$link->getManufacturerLink($brand.id_manufacturer)}">{$brand.name}</a>
           </p>
         {/foreach}
       </div>
       </div>


Изображения:
brands1.png - Размер файла30.82KB, Скачиваний: 46 (Нажмите для увеличения)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


15-04-2021 23:28
Не используйте код указанный в сообщении выше, он (код) ужасен :crazy:

Правильный код (без css адаптации, для каждого ИМ необходимо подстраивать самостоятельно, добавить можно на любую стр., напр. на главную):
Код:
{$manufacturers = []}
{foreach Manufacturer::getManufacturers(false, $cookie->id_lang, true, false, false) as $manufacturer}
    {$manufacturers[{$manufacturer.name|truncate:1:''}][] = $manufacturer}    
{/foreach}

<div class="all-brands">
    <ul class="letter-select clearfix">
        {foreach $manufacturers as $list}
            <li><a href="#letter_{$list@key}">{$list@key}</a></li>
        {/foreach}
    </ul>
    <div class="brands-by-letter">
        {foreach $manufacturers as $list}
            <div class="box-letter clearfix" id="letter_{$list@key}">
                <div class="box-title">{$list@key}</div>
                <div class="letter-content">
                {foreach $list as $manufacturer}
                    <p>
                        <a href="{$link->getManufacturerLink($manufacturer.id_manufacturer, $manufacturer.link_rewrite)}">{$manufacturer.name|escape}</a>
                    </p>
                {/foreach}
                </div>
            </div>
        {/foreach}
    </div>
</div>
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
annetf


Новичок
Сообщений: 57
Регистрация: 24-08-2013


16-04-2021 00:42
Огромное Вам спасибо! Вы очень помогли, надеюсь еще кому-то пригодится)
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос