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

  • 6 Ответов
  • 12210 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Онлайн Taatshi

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

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

<?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, 12:33:16 от b2z »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.

Спасибо! Действительно помогло   :D

*

Оффлайн 01Kuzma

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

*

Онлайн Taatshi

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

<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

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


« Последнее редактирование: 18.09.2012, 01:29:23 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.

*

Оффлайн Fedor Vlasenko

  • ********
  • 3833
  • [+]704 / [-]6
  • Пол: Мужской
  • Все начинается с Value
    • Просмотр профиля
    • Создание сайтов, поддержка сайтов
Так наверное лучше будет
Код: (php) [Выделить]
<?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>';
?>
Код: (css) [Выделить]
.logo{
display: block;
width: 150px;
height: 100px;
}

*

Оффлайн 01Kuzma

Спасибо!
Помогло!  *DRINK*
« Последнее редактирование: 18.09.2012, 13:45:35 от 01Kuzma »

*

Оффлайн Valerko_O

  • ***
  • 195
  • [+]12 / [-]0
  • Пол: Мужской
  • Ничто так не помогает сделать выбор, как пытки...
    • Просмотр профиля
    • Уголок веб-маньяка!
Так наверное лучше будет
Код: (php) [Выделить]
<?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>';
?>
Код: (css) [Выделить]
.logo{
display: block;
width: 150px;
height: 100px;
}
Joomla 3.x - не работает к сожалению. Подскажите что исправить?