
Лучший Ответ Cheren-dow , 30 August 2013 - 16:23
В общем вот что пришло в голову - попробовал получилось. По другому я не знаю как сделать.
Я сделал 2 разных фильтра привязанных к 2 разным пунктам меню и соответственно они имеют разные типы один reviews другой logo (у вас свои).
Оба фильтра выводятся в позиции we-can(мой случай) но только на страницах к которым они привязаны и других модулей в этой позиции нет - только форма поиска!
в файле
Получаем данные нашего фильтра из позиции в которой он находиться
- $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'] будет заменяться и количество колонок будет меняться.
