Итак, у нас есть сайт с Joomla 4. И мы используем стандартный шаблон Cassiopeia.

В настройках шаблона мы указали, что в качестве логотипа будет использоваться файл logo2.png, который мы положили в удобную нам папку на сайте.

Допустим у нас сайт сделан на двух языках: русском и английском.

Мы создаем два файла для логотипа на нужном языке и называем их: logo2-en-GB.png и logo2-ru-RU.png, соответственно.

Загружаем эти файлы в ту же папку, где лежит logo2.png.

Далее открываем файл: /templates/cassiopeia/index.php 

Находим там строки:

if ($this->params->get('logoFile'))
{
    $logo = '<img src="' . Uri::root(true) . '/' . str_replace(".png", "-".$tag.".png", htmlspecialchars($this->params->get('logoFile'), ENT_QUOTES)) . '" alt="' . $sitename . '">';
}

и меняем их на:

if ($this->params->get('logoFile'))
{
    $lang = JFactory::getLanguage();
    $tag = $lang->getTag();
 
    $logo = '<img src="' . Uri::root(true) . '/' . str_replace(".png", "-".$tag.".png", htmlspecialchars($this->params->get('logoFile'), ENT_QUOTES)) . '" alt="' . $sitename . '">';
}

Что мы сделали. Мы получаем контейнер языка, далее с помощью функции getTag() получаем тег языка, который выбран в данным момент на сайте. Он будет содержать значания: "ru-RU" или "en-GB".

Далее мы меняем путь к файлу логотиа, дописывая там перед расширением .png наш тег.

Пользуйтесь на здоровье!

Add comment


Security code
Refresh