Помогите. Фильтры контента в виджете

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 8 января 2015 в 19:05
Здравствуйте,
опять же из-за того, что я дизайнер и верстальщик, подхожу к вопросу со стороны юзабилити и визуальной эстетики.

Продвинутые программисты и разработчики, возможно ли вывести фильтры контента виджетом в правой колонке.
Думаю это решение позволит многим пользователям ICMS как-то разнообразить свои шаблоны.
Заранее спасибо.
#2 10 января 2015 в 18:38
Никому разве не интересно? Присоединятесь к вопросу, может нам и помогут )
#3 10 января 2015 в 19:25

Присоединяетесь к вопросу, может нам и помогут

Azami
сами присоединились к своему вопросу?
И возможно, нужно найти код который вызывает фильтр, и вставить его в сайд бар, если я правильно понимаю… zst
#4 10 января 2015 в 19:46
\templates\default\assets\ui\filter-panel.tpl.php
Вот код фильта как я понимаю, только тупо его вставив появляется кнопка фильтра, но при его открытии ошибка

Invalid argument supplied for foreach

Как ее исправлять я не знаю) та и вообще может не правильно мыслю
#5 11 января 2015 в 18:02

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

Jestik
Мне кажется правильней не просто в сайдбар, а в виджет вынести. Хотя может я ошибаюсь.

В \templates\default\content\default_list.tpl
Нашел

код который вызывает фильтр

Jestik

  1.  
  2. <?php
  3. if( $ctype['options']['list_show_filter'] ) {
  4. $this->renderAsset('ui/filter-panel', array(
  5. 'css_prefix' => $ctype['name'],
  6. 'page_url' => $page_url,
  7. 'fields' => $fields,
  8. 'props_fields' => $props_fields,
  9. 'props' => $props,
  10. 'filters' => $filters,
  11. 'is_expanded' => $ctype['options']['list_expand_filter']
  12. ));
  13. }
  14. ?>
  15.  
и как понимаю это он вызывает фильтр из

\templates\default\assets\ui\filter-panel.tpl.php

Jestik

В принципе можно его в ставить шаблон нового виджета, условно назовем его filterwidget.tpl.php
А что прописывать в файле widget.php нового виджета не понимаю. Может, конечно не прав.

Простая вставка в шаблон между <aside></aside> не помогает.

В принципе, я могу его вынести в сторону с помощью 4 строк в css файле, например
  1.  
  2. position: absolute;
  3. width: 200px;
  4. margin-left: 575px;
  5. margin-top: 65px;
  6.  
но это не айс все-таки.
#6 19 января 2015 в 20:21
Вопрос открыт
#7 20 января 2015 в 12:44
Так если по существу тоже не хватает грамотно сделанного виджета с фильтрами...
Метод который использую я не очень корректен, но за неимением и неумением в принципе рабочий вариант верстальщик с самыми небольшими знаниями php сможет реализовать думаю..
1. Подготавливаем отдельный виджет для фильтров
2. Делаем несколько шаблонов по принципу и наподобие виджета вывода чистого html.
3. Копируем нтмл код формы фильтра со страницы нашего контента в шаблон(ы) нашего виджета.
4. На action html вешаем страницу с типом контента.
Как то так, работает но так как это чистый хтмл то не сохраняет выбранные позиции в фильтре после перезагрузки страницы, по хорошему нужно на php писать вывод полей… Но как говорится лучше чем ничего.
Или вариант совсем проще копируете хтмл код фильтра, вставляете в виджет вывода html, action="/ваш_тип_контента" — правда в этом случае может сработать ограничение на кол-во симбволов.
#8 20 января 2015 в 18:39
Знаете, так я додумался вывести, есть некоторые недостатки в этом. Хотя бы с тем же сохранением выбранных параметров.

Рад, что не мне одному это интересно. И надеюсь на то, что все-таки обратят внимание на этот вопрос "гуру".
jorgovich, спасибо в любом случае.
#9 27 января 2015 в 17:12
Вопрос решен.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.