Форум русской поддержки Joomla!® CMS
11.12.2016, 08:15:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

FAQ: [Решено] Мультиязычное лого картинкой

 (Прочитано 11095 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Taatshi
Support Team
*****

Репутация: +430/-3
Offline Offline

Пол: Женский
Сообщений: 4718

Мама, я снова верстал во сне...


« : 26.07.2012, 14:07:00 »

Может, кому пригодится...

В диве, где выводится лого, прописываем следующий код

Код:
<?php
$lang = $this->language;
switch ($lang) {
case "ru-ru":
echo '<img src="templates/'.$this->template.'/images/logoru.png" alt="Альтернативный текст для русского лого" />';
break;
case "en-gb":
echo '<img src="templates/'.$this->template.'/images/logoen.png" alt=" Альтернативный текст для английского лого" />';
break;
default:
echo '<img src="templates/'.$this->template.'/images/logodefault.png" alt="Альт для дефолтного лого" />';
break;
}
?>

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

Не забываем прописывать свой alt для картинок!

Для каждого языка добавляем конструкцию

Код:
case "код языка":
echo '<img src="templates/'.$this->template.'/images/картинкалогодляязыка.png" alt=" Альтернативный текст для языкового лого" />';
break;

Вроде все...
« Последнее редактирование: 17.10.2012, 10:33:16 от b2z » Записан
sanalis
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 1


« Ответ #1 : 03.09.2012, 15:43:48 »

Спасибо! Действительно помогло   Cheesy
Записан
01Kuzma
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 168


« Ответ #2 : 17.09.2012, 16:24:47 »

А как можно это решение расширить, чтоб логотип был ссылкой и соответственно, в зависимости от выбранного языка, ссылка выводила на страницу с соответствующем языком?
Записан
Taatshi
Support Team
*****

Репутация: +430/-3
Offline Offline

Пол: Женский
Сообщений: 4718

Мама, я снова верстал во сне...


« Ответ #3 : 17.09.2012, 23:15:59 »

Усовершенствуем...

Код:
<div id="logo">
<?php
$lang =& JFactory::getLanguage();
$current=$lang->getTag();
$db =& JFactory::getDBO();
$query = 'SELECT * FROM #__languages';
$db->setQuery( $query);
$rows = $db->loadObjectList();

foreach ($rows as $row)
{
$code = $row->sef;
$tag = $row->lang_code;
$ord = $row->ordering;

if ($current == $tag)
{
if ($ord != 0) {
echo '<a href="'.JURI::root().$code.'"><img src="'.JURI::root().'templates/'.$this->template.'/images/logo'.$code.'.png" alt="'.JURI::root().$code.'"></a>';
}
else {
echo '<a href="'.JURI::root().'"><img src="'.JURI::root().'templates/'.$this->template.'/images/logo'.$code.'.png" '.JURI::root().'></a>';
}
}
}
?>
</div><!--end-logo-->

Картинки кладем в папку images вашего шаблона. Название у них должно быть прописано таким образом

logoru.png
logoen.png

и т.д. Выделенные части в названии - это то самое, что Вы прописали в админке по адресу

Менеджер языков - языки контента - для каждого языка - в поле Код языка для URL

Для основного языка код в урле не выводится.


« Последнее редактирование: 17.09.2012, 23:29:23 от Taatshi » Записан
Fedor Vlasenko
Профи
********

Репутация: +696/-5
Offline Offline

Пол: Мужской
Сообщений: 3820


Все начинается с Value


« Ответ #4 : 17.09.2012, 23:24:26 »

Так наверное лучше будет
Код
<?php
$app = JFactory::getApplication();
$tmpPath = '/templates/'.$this->template; //Путь к шаблону
$nameSite = $app->getCfg('sitename'); //Имя сайта
$lng = explode('-', $this->language);
echo '<a href="/" title="'.$nameSite.'" class="logo" style="background-image: url('.$tmpPath.'/images/logo'.$lng[0].'.png);"></a>';
?>
Код
.logo{
display: block;
width: 150px;
height: 100px;
}
« Последнее редактирование: 07.10.2012, 18:11:32 от Poznakomlus » Записан
01Kuzma
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 168


« Ответ #5 : 18.09.2012, 11:37:42 »

Спасибо!
Помогло!  drink
« Последнее редактирование: 18.09.2012, 11:45:35 от 01Kuzma » Записан
Valerko_O
Осваиваюсь на форуме
***

Репутация: +12/-0
Offline Offline

Пол: Мужской
Сообщений: 195


Ничто так не помогает сделать выбор, как пытки...


« Ответ #6 : 16.05.2015, 18:52:52 »

Так наверное лучше будет
Код
<?php
$app = JFactory::getApplication();
$tmpPath = '/templates/'.$this->template; //Путь к шаблону
$nameSite = $app->getCfg('sitename'); //Имя сайта
$lng = explode('-', $this->language);
echo '<a href="/" title="'.$nameSite.'" class="logo" style="background-image: url('.$tmpPath.'/images/logo'.$lng[0].'.png);"></a>';
?>
Код
.logo{
display: block;
width: 150px;
height: 100px;
}
Joomla 3.x - не работает к сожалению. Подскажите что исправить?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet