Переключение языка

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

MaximKAA M
Аватара
MaximKAA M
Репутация: 1
Сообщения: 58
Зарегистрирован: 18.02.2016
С нами: 8 лет 1 месяц

Сообщение #1 MaximKAA » 09.03.2016, 11:49

Добрый день!
Заметил особенность и предлагаю доработать.
При отключении валют, оставив при этом только рубли, иконка на фронт-энде исчезает и это логично.
А вот если я отключая все языки и оставляют только русский, то иконка остается и это не логично. Подскажите как сделать так, чтобы при единственном активном языке иконка также исчезала?

simplamarket M
Аватара
simplamarket M
Репутация: 1
Сообщения: 42
Зарегистрирован: 29.01.2016
С нами: 8 лет 1 месяц
Сайт Skype

Сообщение #2 simplamarket » 10.03.2016, 11:21

MaximKAA писал(а):Добрый день!
Заметил особенность и предлагаю доработать.
При отключении валют, оставив при этом только рубли, иконка на фронт-энде исчезает и это логично.
А вот если я отключая все языки и оставляют только русский, то иконка остается и это не логично. Подскажите как сделать так, чтобы при единственном активном языке иконка также исчезала?
Добрый день, в дефолтном шаблоне есть такой нюанс, и согласен, он не очень удобен.
Для того что бы быстро сделать проверку и не выводить выпадающий список, прям в верстке могу предложить следующий код:

Код: Выделить всё

{if $languages|count > 1}
                {foreach $languages as $ln}
                    {if $ln->enabled}
                        {$cnt = $cnt+1}
                    {/if}
                {/foreach}
                {if $cnt>1}
                    <li class="nav-item">
                        <div class="btn-group">
                            <a data-languages="true" class="nav-link link-black i-lang" href="#" data-toggle="dropdown" aria-haspopup="true"
                               aria-expanded="false"><span class="lang-label">{$language->label}</span><span
                                        class="lang-name">{$language->name}</span></a>
                            <div class="dropdown-menu">
                                {foreach $languages as $l}
                                    {if $l->enabled}
                                        <a class="dropdown-item{if $language->id == $l->id} active{/if}"
                                           href="{$l->url}"><span class="lang-label">{$l->label}</span><span
                                                    class="lang-name">{$l->name}</span></a>
                                    {/if}
                                {/foreach}
                            </div>
                        </div>
                    </li>
                {/if}
         {/if}


Можно добавить вот такой блок, для подсчета только включенных языков, и если их больше чем 1, то выводить сам пункт переключения

{foreach $languages as $ln}
{if $ln->enabled}
{$cnt = $cnt+1}
{/if}
{/foreach}
С уважением,
служба поддержки SimplaMarket.ru
Skype: simplamarket

MaximKAA M
Аватара
MaximKAA M
Репутация: 1
Сообщения: 58
Зарегистрирован: 18.02.2016
С нами: 8 лет 1 месяц

Сообщение #3 MaximKAA » 17.03.2016, 13:58

Очень полезный функционал. Спасибо. Необходимо обязательно включить в следующий релиз.

Vanger M
Vanger M
Репутация: 5
Сообщения: 31
Зарегистрирован: 08.06.2016
С нами: 7 лет 9 месяцев

Сообщение #4 Vanger » 10.05.2017, 16:28

Может кому пригодится, а то интересовались - смена иконки при переключении языка:

в index.tpl, где идет блок {* Выбор языка *}
строка div после стиля i-lang через пробел добавляем {$language->label}
и в css потом прописываем для каждого класса языка свой стиль

Код: Выделить всё

@media (min-width: 992px) {
.i-lang.en {
background: url(../images/i-lang-en.png) left center no-repeat;
}
.i-lang.ru {
background: url(../images/i-lang-ru.png) left center no-repeat;
}
.i-lang.uk {
background: url(../images/i-lang-uk.png) left center no-repeat;
}
}


аналогично, замену иконки можно сделать и в выборе валюты через {$currency->name}


Название раздела: Предложения по улучшению OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Предложения по улучшению OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 14 гостей