Всегда думал почему то что тут все просто, однажды просто вынеся шаблон из компонента в папку шаблона, но вот встала задача выдать свои шаблоны блогу категорий (каждому свой) и соответственно материалам в них.
С категориями более менее разобрался, решение
beliyadm работает, добиться вывода своего шаблона в настройках категории у меня так и не получилось, только через меню, но вот с материалами все оказалось куда сложней,
не добился ни вывода своего шаблона в настройках материалов, ни в настройках категорий (т.е. в настройке "Альтернативный макет" категории и материала - ничего не появилось).
Вариант
Shustry не сработал на денвере и J3.6.2, точнее вот это:
$cat_layout = explode(':',json_decode($categories->get($this->item->catid)->params)->category_layout)[1];
Выдает 500 ошибку и все, поступил следующим образом - создал файл шаблона статьи с id категории, при выводе проверяю его наличие и подключаю (в моем случае-примере это default_cat9.php), т.е. если я например вывожу статью из категории 9, проверяю наличие шаблона и подключаю его если он есть.
Вот код default.php возможно пригодится кому-то еще:
$app = JFactory::getApplication();
$template = $app->getTemplate();
$templateparams = $app->getTemplate(true)->params;
$file = '/templates/' . $template . '/html/com_content/article/default_cat'.$this->item->catid.'.php';
if (JFile::exists(JPATH_ROOT.$file)) {
echo $this->loadTemplate('cat'.$this->item->catid);
} else { Здесь все остальное содержимое default.php }
Вставляем после проверки на прямое обращение или до вывода разметки.
Теперь вопрос к знатокам:
как вывести путь к шаблону из массива $this?
P.S. Идея отличная (не моя, а общая :-) ), но реализация - через опу.... + какая-то нелогичность настроек и запутанность - ну сделали бы тупо в настройках категории выбор шаблона и подрубался бы он и в блогах и статьях, без лишней настройки в меню