Итак, у нас есть сайт с 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 наш тег.
Пользуйтесь на здоровье!