Joomla: Как изменить шаблон на определенной статье

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

9
задан Kratz 17 July 2010 в 01:43
поделиться

1 ответ

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

Я делал что-то подобное на работе, но сейчас не помню, как именно это достигается. Я отправлю здесь свой код, как только найду его.

РЕДАКТИРОВАТЬ : Код найден :)

Вам необходимо отредактировать файл /includes/application.php, в частности метод getTemplate (). В конце этого метода, непосредственно перед:

// Fallback template
if (!file_exists(JPATH_THEMES.DS.$template.DS.'index.php')) {
  $template = 'rhuk_milkyway';
}

вы можете добавить свое условие для применения настраиваемого шаблона, например:

//CUSTOM TEMPLATE FOR THE ARTICLE 13
if (JRequest::getVar('id')=='13' && JRequest::getVar('option')=='com_content') {
  $template = $custom_template_name;
}

Это применит настраиваемый шаблон, имя которого находится внутри $ custom_template_name, к статье с id = 13. Вы также можете использовать его для применения другого шаблона к компонентам, как я сделал с simplecaddy:

//TEMPLATE FOR SIMPLECADDY
if (JRequest::getVar('option')=='com_caddy'){
  $template = 'shop';
}
5
ответ дан 4 December 2019 в 22:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: