Перейти к содержимому


Фотография
- - - - -

Настройка страницы вывода результатов поиска


Лучший Ответ 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'] будет заменяться и количество колонок будет меняться.

 

 

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 10

#1 Александр Муханов

Александр Муханов

Отправлено 30 August 2013 - 13:56

Рановато закрыл тему, в продолжение. А как в коде определить категорию и подкатегорию для которой применяется фильтр, что бы выводить различное кол-во колонок для разных категорий товаров?


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 30 August 2013 - 14:23

Настроить конкретное количество колонок для определенных как вы говорите "категорий и подкатегорий "в результатах фильтра я думаю не получиться.

Потому что фильтр производит поиск по всем категориям и в выдачу могут попасть как элементы из "Категории 1" так и из "Подкатегории 28" 


Сообщение отредактировал Cheren-dow: 30 August 2013 - 14:25

  • 0
Изображение
 

#3 Александр Муханов

Александр Муханов

Отправлено 30 August 2013 - 14:38

Но у вас же фильтр привязывается к конкретному типу материала, у меня конкретный тип материала привязан  к своей категории, я хочу использовать отдельный фильтр для каждой категории и для каждой категории нужно настроить вывод результатов поиска в 1, 2, 3 колонки.

Может тип материала можно определить?


  • 0

#4 Cheren-dow

Cheren-dow

Отправлено 30 August 2013 - 15:13

Т.е вы хотите определить тип элемента, указанного  в модуле и на основе этого делать условия по выводу колонок!?


  • 0
Изображение
 

#5 Александр Муханов

Александр Муханов

Отправлено 30 August 2013 - 15:25

ну если это так называется, то да). размеры тизеров для разных типов товаров разные, есть узкие и высокие, есть широкие .


  • 0

#6 Cheren-dow

Cheren-dow

Отправлено 30 August 2013 - 15:36

А можно ссылку на сайт для наглядности!?


  • 0
Изображение
 

#7 Александр Муханов

Александр Муханов

Отправлено 30 August 2013 - 15:59

http://www.ma-tech.ru/


  • 0

#8 Cheren-dow

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'] будет заменяться и количество колонок будет меняться.

 

 


  • 1
Изображение
 

#9 Александр Муханов

Александр Муханов

Отправлено 30 August 2013 - 16:30

А вы не посмотрите на сайте в разделе Лампы поиск по полю UVB/UVA % не работает, в чем там может быть дело?


  • 0

#10 Cheren-dow

Cheren-dow

Отправлено 30 August 2013 - 17:49

Александр это уже другой вопрос, создайте новую тему и мы постараемся вам помочь.


  • 0
Изображение
 




Click to return to top of page in style!