Фильтрация содержимого в администраторе Symfony 1.2.x? - PullRequest
0 голосов
/ 20 августа 2009

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

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

Пример:

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

Есть идеи, как этого добиться?

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

1 Ответ

1 голос
/ 21 августа 2009

вы можете использовать опцию table_method в generator.yml вашего модуля Content:

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

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

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