Страница 1 из 2

Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 08 окт 2012, 05:50
лфдучу
Мозговой штурм))
У меня на сайте много страниц одного типа (условно right_sidebar), но мне их надо вывести на одну страницу в несколько блоков, отсортированных по 4-5 атрибутам.
То есть на странице будут 4 модуля page list с шаблоном blog_index и в них нужно отсортировать станицs по Атрибут А, Атрибут Б, Атрибут 1, Атрибут 2.
С помощью атрибута is_featured не получается, так как он имеет два значения (вкл и выкл).

Есть еще какой-то вариант, может знаете?

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 08 окт 2012, 11:59
Count_Raven
Ну, простыми манипуляциями с мышкой тут не получится.

1. Нужно создать необходимые атрибуты для страниц в панели управления.
2.1. На базе blog_index создать свой шаблон, где прописать код для сортировки по нашим атрибутам (плохой вариант, так как пихать логику во view не кошерно).
2.2. Наследовать от page_list, либо скопировать page_list в /blocks и переименовать, изменить controller, добавить код для фильтрации (хороший вариант).

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 08 окт 2012, 12:02
cmsservice
Навскидку: приобретите модуль PageList Plus (
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку
) и наслаждайтесь возможностями.

Есть другой вариант, написать 4 темплейта для модуля PageList, внутри которых делать фильтрацию pagelist'а по нужному критерию. Если на PHP не очень, то может быть затруднительно реализовать этот вариант.

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 08 окт 2012, 15:21
лфдучу
В общем понятно)) Оказалось все не просто. Нашел бесплатный модуль (платный пока не охота покупать, это я тестирую компоновку, может и не понадобится она). Но бесплатный не работает так как заявлено, если не заработает буду думать (этот
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку
)

Спасибо за ответы.

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 13 окт 2012, 06:04
лфдучу
Может есть еще какой-то простой способ выводить в page list только определенные страницы? Может как-то вручную можно указать?

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 13 окт 2012, 16:23
cmsservice
Ну вообще-то есть. Только придется попрограммировать. Вы как с PHP? Придется запрограммировать template для модуля page_list.

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 13 окт 2012, 18:09
Count_Raven
cmsservice писал(а):Ну вообще-то есть. Только придется попрограммировать. Вы как с PHP? Придется запрограммировать template для модуля page_list.

Не учите плохому, зачем логику в вид пихать? Программировать надо контроллер, функцию getPages().

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 13 окт 2012, 18:17
Count_Raven
Ладно, сча разберемся. Вышлю на почту модифицированный page_list.

UPD: Отправил.

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 13 окт 2012, 20:39
cmsservice
Count_Raven писал(а):Не учите плохому, зачем логику в вид пихать? Программировать надо контроллер, функцию getPages().

Не, ну это так, но человек просит простое решение. А простое, оно не обязательно по всем правилам, это просто решение проблемы, не более того :)

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 13 окт 2012, 22:45
Count_Raven
cmsservice писал(а):
Count_Raven писал(а):Не учите плохому, зачем логику в вид пихать? Программировать надо контроллер, функцию getPages().

Не, ну это так, но человек просит простое решение. А простое, оно не обязательно по всем правилам, это просто решение проблемы, не более того :)
Угу

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 26 окт 2012, 04:35
лфдучу
Так, модуль получил, сегодня поставлю, попробую, а то пришлось руками выводить в текстовый блок)

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 18 ноя 2012, 15:04
iDom
лфдучу писал(а):В общем понятно)) Оказалось все не просто. Нашел бесплатный модуль (платный пока не охота покупать, это я тестирую компоновку, может и не понадобится она). Но бесплатный не работает так как заявлено, если не заработает буду думать (этот
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку
)

Спасибо за ответы.

В этой CMS вообще ничерта не работает как заявлено... документация отвратительная, первокурсники в универе и то лучше пишут документацию....

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 18 ноя 2012, 19:44
cmsservice
Странно, у нас работает все как заявлено.
С документацией да, есть траблы, но в целом - исходники, самая лучшая документация.

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 19 ноя 2012, 01:44
iDom
Никто не знает где в классе ItemList происходит заполнение массива $items? А то резать они его режут, а где заполняют что-то найти не могу.

Re: Как отсортировать страницы в page list по атрибутам

СообщениеДобавлено: 19 ноя 2012, 13:48
Count_Raven
iDom писал(а):Никто не знает где в классе ItemList происходит заполнение массива $items? А то резать они его режут, а где заполняют что-то найти не могу.

setItems()

Т. е. ItemList это универсальный объект и пользоваться им напрямую в общем-то не обязательно.
Нужно от него наследовать и создать свой какой-нибудь list, типа FileList, PageList... HrenList =)
Вы можете конечно создать экземпляр ItemList и дать ему элементы при помощи setItems($items).
Но для работы со списками конкретных объектов, лучше наследовать от ItemList и уже расширить необходимым функционалом.
На базе ItemList там есть более продвинутый класс DatabaseItemList - вот на него лучше посмотрите, если вы (а я так думаю) работаете с информацией из БД.