Symfony2 - Интеграция Sonata в существующий проект

Новое в Symfony2.

Я следовал нескольким руководствам по установке и настройке Sonata с помощью FOSUser и я создали пакет SonataUser.

SonataAdmin, похоже, предназначен для работы самостоятельно с точки зрения шаблонов.

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

Мне интересно, как лучше всего это сделать.

Сначала я подумал о расширении моего макета с помощью шаблонов Sonata, чтобы сохранить удобство обслуживания, но есть много вещей, которые мне не нужны (например, верхняя панель навигации, хлебные крошки, ...).

Я также думал о вызове частей Сонаты, но я действительно не знаю, как это сделать, и я не уверен, что это хорошая идея.

Может ли кто-нибудь указать мне правильное направление?


person Pierre de LESPINAY    schedule 19.06.2012    source источник


Ответы (1)


Вы можете переопределить любую часть функциональности пакета. Для изменения шаблонов вам просто нужно скопировать шаблоны в app/Resources (используя правильную структуру каталогов), и Symfony2 сначала будет искать шаблоны там. Чтобы переопределить классы/методы пакета, просто расширьте класс пакета и добавьте любой код, который вам нравится. Ваша маршрутизация просто должна быть настроена так, чтобы она указывала на ваши классы, а не на пакеты.

Здесь все хорошо описано:

http://symfony.com/doc/current/cookbook/bundles/inheritance.html

http://symfony.com/doc/current/book/templating.html#overriding-bundle-templates

person Pappa    schedule 19.06.2012
comment
Я забыл, что мы можем переопределить шаблоны. Это, кажется, лучший способ для меня, спасибо. - person Pierre de LESPINAY; 20.06.2012