Очень интересный, я бы даже сказал, довольно интимный вопрос :) Можно сделать автоматическую подстановку Шаблона
или Стиля шаблона в зависимости от нужного условия, например, в зависимости от
домена, через который открыт сайт.
Есть несколько вариантов.
Пока поделюсь своим старым вариантом. Пусть будет, для коллекции.
Может когда-то и актуальным вариантом поделюсь :)
Так вот, данный вариант - это хак одного из файлов ядра Joomla.
Файл libraries/src/Application/SiteApplication.php
В методе getTemplate(), внутри foreach ($templates as &$template), вместо
такого кода:
// Create home element
if ($template->home == 1 && !isset($template_home) || $this->_language_filter && $template->home == $tag)
{
$template_home = clone $template;
}
Надо прописать примерно такой:
// alexey@gnevyshev.ru
// old variant
if (preg_match('/domain1.com/i', $_SERVER['HTTP_HOST']) && $template->template == 'template_1_name' && !isset($template_home)) {
$template_home = clone $template;
}
else if (preg_match('/domain2.com/i', $_SERVER['HTTP_HOST']) && $template->template == 'template_2_name' && !isset($template_home)) {
$template_home = clone $template;
}
else if (preg_match('/domain3.com/i', $_SERVER['HTTP_HOST']) && $template->template == 'template_3_name' && !isset($template_home)) {
$template_home = clone $template;
}
Минус данного варианта - это хак ядра. Обновляться сложнее, с хаками.
Тем не менее, работает на ура! )
Есть вариант без хака. Кстати, довольно красивый и компактный )
Комментариев нет:
Отправить комментарий