Фильтр по блогам

Здравствуйте.

Может кто-нибудь подсказать, как реализовать фильтр блогов, как это сделано на mmozg.net в разделе «Миры». Спросил у Atron на что он ответил.

Добавили еще одно поле с признаком в таблицу blogs. Соответственно, фильтруем при выводе по этому признаку.

Создать таблицу это не сложно, но вот как сделать фильтр по этой таблице и вывести? Так как Atron занят, то прошу помощи у сообщества.

И ещё было бы неплохо, чтобы можно настроить шаблон вывода блогов. То есть, чтобы в блогах шаблон вывода(блогов) был стандартным, а при фильтре был другой шаблон.

Буду благодарен любым соображениям по данному вопросу.

14 комментариев

avatar
И ещё было бы неплохо, чтобы можно настроить шаблон вывода блогов. То есть, чтобы в блогах шаблон вывода(блогов) был стандартным, а при фильтре был другой шаблон.
Вот это меня поразило
avatar
Смотрите код и делаете по аналогие. Других советов быть не может. Тут не создание нового функционала, а минимальная доработка того что есть и на реализацию уйдет 5 минут, а на описание всего все 20.
avatar
Смотрите код и делайте по аналогии*
avatar
Да сам вывод не проблема сделать. А вот как задать для отфильтрованных блогов свой шаблон(файл .tpl), в этом и вопрос.
avatar
Если используется фильтрая меняем на tpl
github.com/livestreet/livestreet/blob/master/classes/actions/ActionBlogs.class.php#L133
avatar
Вот уже показали в какой стороне искать решение. Думаю по этому примеру попробовать сделать ввиде плагина. Если кто поможет, буду благодарен.
avatar
не знаю, где вы нашли в «мирах» фильтр блогов, но если вы имеете в виду то же, что и я, то такой плагин скоро будет доступен в каталоге.
avatar
Возможно, я что-то не так понял про то, как всё реализовать. Спасибо за ответ, буду ждать плагина.
avatar
Привет.
Я из команды, разрабатывающей mmozg.net.
У нас раздел «Миры» сделан так:

— добавлено поле признака в таблицу blogs;
— добавлен classes/actions/ActionWorlds.class.php (по аналогии с ActionBlogs.class.php — тут изменены фильтры для вызовов Blog_GetBlogsByFilter в соответствии с нововведенным признаком);
— добавлен новый шаблон для списка миров (переработанный blog_list.tpl);
— добавлен templates/skin//actions/ActionWorlds/index.tpl (по аналогии с ActionBlogs/index.tpl)
— в config/config.php в секцию «Распределение action» добавлено
$config['router']['page']['worlds'] = 'ActionWorlds';
— в engine\lib\internal\template\js\blog.js добавлена ф-ция searchWorlds (по аналогии с ф-цией searchBlogs) — чтобы работал поиск на странице;
— прописаны для новой страницы правила вывода блоков в правой панели (в config/config.php, секция «Настройки вывода блоков»);
— введены необходимые текстовки в словарь (templates\language\russian.php);
— добавлен пункт меню (в templates\skin\\header_top.tpl).

Вроде, ничего не забыла.
Прошу прощения, если не оптимальный вариант, «я не волшебник, я только учусь» :)
avatar
Большое спасибо за подробную инструкцию, попробую разобраться.
avatar
А как нужному блогу присвоить признак? Он присваивается при добавлении блога?
avatar
При добавлении присваивается дефолтовое значение. В идеале надо доработать форму создания блога.
Либо ручками в базе, простите :)
avatar
Понятно, попробую сначала через БД.
avatar
Как успехи?.. Меня очень интересует, как менять Blog_GetBlogsByFilter и Настроить вывода блоков.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.