Веб мастер - CMS Joomla

Не работает? Начинай читать инструкцию.

Многоязычный сайт Joomla. Примеры подмены файлов, в зависимости от языка

Как известно, при создании многоязычных файлов, можно столкнуться с проблемой вывода заголовка, картинок, файлов css, ошибки 400 и так далее. Что делать?

Предлагаю ознакомиться с предложениями моих партнёров

Рассмотрим несколько примеров. Думаю не стоит тут разбирать сам код, там всё абсолютно понятно.

Например надо подменить файлы CSS в зависимости от языка.

<?php switch ($this->getlanguage()){
  case 'ru-ru':?>       
  <link href="<?php echo $tmpTools->templateurl();?>/css/template.css" rel="stylesheet" type="text/css" />              
  
<?php   
  break;
  case 'en-gb':?>       
  <link href="<?php echo $tmpTools->templateurl();?>/css/template_en.css" rel="stylesheet" type="text/css" />           
  
<?php   
  break;
  case 'uk-ua':?>       
  <link href="<?php echo $tmpTools->templateurl();?>/css/template_ua.css" rel="stylesheet" type="text/css" />           
  
<?php   
  break;
  default :?>    
  <link href="<?php echo $tmpTools->templateurl();?>/css/template.css" rel="stylesheet" type="text/css" />      
  
<?php 
  break;
  }
  ?>

Этот код можно так же применить и к некоторым картинкам.

Вот пример для замены кода в индексном файле

<?php switch ($this->getlanguage()){
  case 'ru-ru':?>
<div class="art-header-ru" data-left="0.69%">&nbsp;</div>
 
<?php 
  break;
  case 'uk-ua':?>
<div class="art-object360635721" data-left="0.69%">&nbsp;</div>
 
<?php 
  break;
  default :?>
<div class="art-object360635721" data-left="0.69%">&nbsp;</div>
 
<?php 
  break;
  }
  ?>

Эта статья из другого примера по этой теме.

Несколько языков. Заглавная строка, для мультиязычного сайта Joomla в шапке шаблона

Так же недавно, я столкнулся с проблемой на многоязычном сайте Joomla при создании собственной страницы 404.

Как создать свою страницу 404 на Joomla 3.x

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

В данном случае надо сделать страницы 404 для каждого языка в отдельности и тогда в файле error.php прописать такой код

<?php switch ($this->getlanguage()){
  case 'ru-ru':?>
        
<?php
if (($this->error->getCode()) == '404') {
header('Location: /404.html');
exit;
}
?>
                
  <?php 
  break;
  case 'uk-ua':?>
 
<?php
if (($this->error->getCode()) == '404') {
header('Location: /uk/404.html');
exit;
}
?>
        
  <?php 
  break;
  default :?>
 
<?php
if (($this->error->getCode()) == '404') {
header('Location: /uk/404.html');
exit;
}
?>
 
  <?php 
  break;
  }
  ?>

Ну вот по этим примерам можно дальше и самому разобраться как подменять файлы, скрипты, код в зависимости от языка.

Предлагаю ознакомиться с предложениями моих партнёров