Итак, автор плагина мистер Оливер обьясняет, что плагин не поддерживает смену шаблона при выводе материалов по тегу, хотя при создании такого пункта меню там выбор/смена шаблона в настройках присутствует.
Данное решение проверялось на plugin_k2_css4k2_J17_172.zip, Joomla 2.5.4 и K2 2.5.7
Настройки css4k2: Основные параметры – все yes
Настройка подкатегорий K2: Наследовать параметры от категории - Нет
1) В папке \templates\ваш_шаблон\html\com_k2\ правим файлик generic.php, меняем код:
// no direct access
defined('_JEXEC') or die('Restricted access');
?>
на этот код:
// no direct access
defined('_JEXEC') or die('Restricted access');
$this->loadCss($this->params);
?>
2) Правим файлик \plugins\k2\css4k2\css4k2.php
ищем функцию function loadCss, изменяем ее на public, и все по строку 102 - $doc = & JFactory::getDocument(); заменяем весь код на следующий:
public function loadCss($params = null) {
$app = JFactory::getApplication();
jimport('joomla.filesystem.file');
$theme = '';
// Получаем K2 тему категории/подкатегории/пункта меню К2 » Тег/пункта меню К2 » Категории
// В настройках меню К2 » Категории указано - вывод из материалов одной категории, а в
// опции макета для мультикатегорийной выборки указано - использовать по умолчанию
$menu1 = & JSite::getMenu();
$item1 = $menu1->getActive();
// Если категория с материалами
if ($item1->params<>'')
$theme=$item1->params->get('theme');
// Если категория без материалов
if ($theme=='')
$theme=$params->get('theme');
$doc = & JFactory::getDocument();
3) И не забываем, что темы берутся из папки \templates\ваш_шаблон\html\com_k2\ , где должна быть создана папка для каждой темы, например - mytheme, в которой в свою очередь д.б. файлик с именем, состоящим из имени темы и добавки «_style.css», в нашем примере: mytheme_style.css. Кроме этого файла, в каждую папку нужно скопировать также все файлы из основной темы: item.php, tag.php и остальные.
4) В файл «_style.css» надо перенести все те стили из основных стилей (template.css ...), которые вы хотите сделать уникальными для данной темы. Но можно и не переносить, а поновой описать их, добавив !important - тогда стиль новой темы перезапишется поверх.