Автор Тема: Бренды по афавиту на странице списка брендов  (Прочитано 291 раз)

20 Январь 2021, 12:28:56
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте, возможно тема поднималась...
делаю список брендов в алфавитном порядке, по аналогии вот этого примера: http://nemops.com/prestashop-17-alphabetical-manufacturers/#.YAf2dFhS-Ul
все работает, но одно НО

бренды на латинице - все нормально
бренды на кириллице - нет

вот как это выглядит в brands.tpl:

{block name='brand_miniature'}
<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>
   <li><a href="#letter_А">А</a></li>
       <li><a href="#letter_Б">Б</a></li>
       <li><a href="#letter_В">В</a></li>
       <li><a href="#letter_Г">Г</a></li>
       <li><a href="#letter_Д">Д</a></li>
       <li><a href="#letter_Е">Е</a></li>
       <li><a href="#letter_Ё">Ё</a></li>
       <li><a href="#letter_Ж">Ж</a></li>
       <li><a href="#letter_З">З</a></li>
       <li><a href="#letter_И">И</a></li>
       <li><a href="#letter_К">К</a></li>
       <li><a href="#letter_Л">Л</a></li>
       <li><a href="#letter_М">М</a></li>
       <li><a href="#letter_Н">Н</a></li>
       <li><a href="#letter_О">О</a></li>
       <li><a href="#letter_П">П</a></li>
       <li><a href="#letter_Р">Р</a></li>
       <li><a href="#letter_С">С</a></li>
       <li><a href="#letter_Т">Т</a></li>
       <li><a href="#letter_У">У</a></li>
       <li><a href="#letter_Ф">Ф</a></li>
       <li><a href="#letter_Х">Х</a></li>
       <li><a href="#letter_Ц">Ц</a></li>
       <li><a href="#letter_Ч">Ч</a></li>
       <li><a href="#letter_Ш">Ш</a></li>
       <li><a href="#letter_Щ">Щ</a></li>
       <li><a href="#letter_Э">Э</a></li>
       <li><a href="#letter_Ю">Ю</a></li>
       <li><a href="#letter_Я">Я</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>
     </div>
   </div>
{/block}

сохраняю файл в utf-8, тем не менее на месте вывода .box-title стоят ?

помогите, пожалуйста, разобраться
20 Январь 2021, 12:29:48
Ответ #1
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
20 Январь 2021, 16:59:06
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
На сайте какая кодировка?
База в какой кодировке?
20 Январь 2021, 22:19:46
Ответ #3
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
21 Январь 2021, 11:41:04
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Все шаблоны нужно перекодировать в utf8.
Иначе не сможете руссуие буквы использовать.
21 Январь 2021, 12:07:29
Ответ #5
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо за ответ.
Понял, но когда конкренто этот .tpl конвертирую в utf-8 - проблема остается
21 Январь 2021, 12:29:32
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Вся тема должна быть в utf8. Не только один шаблон.
В заголове темы указана кодировка
<meta charset="utf-8" />
21 Январь 2021, 13:05:13
Ответ #7
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Извините за непонимание - <meta charset="utf-8"> - так и стоит.
Я так понимаю необходима конвертация кодировки всех файлов шаблона?
21 Январь 2021, 14:07:08
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Да, все файлы переконвертировать.