
Лучший Ответ Cheren-dow , 30 August 2013 - 16:23
В общем вот что пришло в голову - попробовал получилось. По другому я не знаю как сделать.
Я сделал 2 разных фильтра привязанных к 2 разным пунктам меню и соответственно они имеют разные типы один reviews другой logo (у вас свои).
Оба фильтра выводятся в позиции we-can(мой случай) но только на страницах к которым они привязаны и других модулей в этой позиции нет - только форма поиска!
в файле
\media\zoo\applications\jbuniversal\templates\catalog\renderer\item_columns\_default.php
Получаем данные нашего фильтра из позиции в которой он находиться
$moduleFilter = JModuleHelper::getModules('we-can'); //we-can - позиция модуля $moduleParams = new JRegistry(); /* * $moduleFilter возвращает массив т.к в моем случае модуль единственный указываю 0 в $moduleFilter[0]->params * если у вас будет несколько модулей посмотрите var_dump($moduleFilter) и укажите нужный номер */ $moduleParams->loadString($moduleFilter[0]->params); $paramType = $moduleParams->get('type'); // Получаем значение выбранного типа /* * Потом делаем проверку по типам и указываем нужное нам количество колонок */
if($this->app->jbrequest->get('task') == "filter"){ switch($paramType){ case 'reviews': $vars['cols_num'] = 4 ; // выведет 4 колонки break ; case 'logo' : $vars['cols_num'] = 2 ; // 2 колонки break ; default: $vars['cols_num'] = 1 ; // по умолчанию 1 } }
тем самым $vars['cols_num'] будет заменяться и количество колонок будет меняться.
