Как переопределить шаблон блога понятно.. Но, как подгружать шаблон материала, соответствующий именно переопределенному шаблону блога не очевидно..
Я сделал так.
В папке шаблона переопределил шаблон блога:
шаблон/html/com_content/category/shop.xml шаблон/html/com_content/category/shop.php шаблон/html/com_content/category/shop_item.php
Далее, создал пункт меню для этого шаблона.
Теперь, для раскладки article я создал 2 копии файла
шаблон/html/com_content/article/default.php
Для общего случая файл
шаблон/html/com_content/category/default_all.php
И для шаблона категории shop
шаблон/html/com_content/category/default_shop.php
А содержимое файла defaul.php я заменил на следущее
defined('_JEXEC') or die;
$active = JFactory::getApplication()->getMenu()->getActive();
$tmp = explode(':', $active->query['layout']);
$layout = $tmp[1];
if(empty($layout) || $layout == 'blog'){
$layout = 'all';
}
echo $this->loadTemplate($layout);