Бесстыдная самореклама здесь. На этой неделе я написал сообщение в блоге о настройке генератора администратора - одна из вещей, которые я сделал, - добавление новых страниц и т. Д. В генератор. То, как я это сделал, возможно, немного хардкорно, но работает хорошо: -)
Лучшее место для начала - это автоматически сгенерированный класс действий для вашего модуля и расширение его в файле app/module/actions/actions.class.php
. В частности, действие index, которое устанавливает пейджер ORM. Вы должны иметь возможность использовать любой запрос из вашего ORM для предоставления пейджеру ORM данных - в тех случаях, когда мне нужно было его изменить, я использую запрос Doctrine, сгенерированный таким же образом, как обычно, для передачи на пейджер. Это означает, что я могу настроить отображаемые поля, в том числе из других таблиц, объединенных и т. Д. В одном запросе. Это ваш «настольный метод», упомянутый выше.
Фильтры будут работать так же хорошо - это зависит от вашего варианта использования и от того, подходят ли фильтры, особенно для отображения. Если вы хотите /showpublisheditems page
, то я бы пошел с новым действием и новым запросом на пейджер. Если вы хотите выполнить настройку «на лету», воспользуйтесь параметром фильтра.
Документы фильтра, которые, как я думал, тоже местами не хватает - быстрый совет, они ищут метод addYourColumnNameColumnQuery()
в вашем классе фильтров верхнего уровня (lib / filter / ...), который принимает переданный запрос и например, использует addWhere("x.column_name = ?", $foo)
для запроса, переданного в.
Блех :-) извините, это была небольшая мозговая утечка, но, надеюсь, это поможет! : -)