Фильтровать содержимое в генераторе администратора Symfony 1.2.x?

У меня есть приложение Symfony 1.2.7, в котором 3 разных сайта сосуществуют в одной базе данных. Весь контент имеет внешний ключ site_id, который указывает, какому сайту он принадлежит.

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

Пример:

Используя «www.domain.com/admin/», пользователь имеет доступ к контенту, принадлежащему домену «domain.com» (с site_id=1) и только этому сайту.

Любые идеи о том, как этого добиться?

заранее спасибо


person Erland Wiencke    schedule 20.08.2009    source источник


Ответы (1)


вы можете использовать параметр table_method в генераторе.yml вашего модуля содержимого:

        config:
...
          list:
            table_method: getSiteContent
...

затем напишите метод в своем классе Content_Table, который изменяет объект запроса:

public function getSiteContent(Doctrine_Query $q) {
        $q->andWhere( some where condition with site_id );
        return $q;
}
person gpilotino    schedule 21.08.2009