Как реализовать блочную струкутру проекта на Symfony?
Я недавно начал изучать Symfony 2, возможно чего-то принципиально не понял, прошу помочь в решении задачи:
Необходимо реализовать модульную загрузку проекта, т.е. меню, форма авторизации, лента новостей, список пользователей и прочие блоки на сайте. На сколько я понял, необходимо определить роутер и написать соответствующий обработчик в контролере, он выдаст данные для twig шаблона, который будет отображен пользователю. Но мне не ясно как объединить разные функциональные блоки с разными шаблонами и разными роутерами в один lauout, что бы собрать их все.
Знаю, что можно выполнять «наследование» шаблонов twig, но если я определяю свой шаблон как кусок базового layuot, при вызове роутера для этого шаблона, как будут загружаться другие шаблоны если мой контроллер вернет данные только для моего шаблона? Мне нужно максимально разделить блоки друг от друга, что бы они не зависели от других.
Сейчас мне нужно форму логина в систему из FOSUserBundle интегрировать с другими блоками сайта, создал дочерный бандл от FOSUserBundle, но не знаю куда идти дальше. Нашел бандл SonataBlock но не могу разобраться нужен ли он вообще в этом случае или нет. Прошу помочь тех, кто в этом силен.
Не используем этот бандл, поэтому честно говоря не знаю. Судя по докам у них подготовлены шаблоны для разных блоков а ля «Лучшее за 24 часа», которые можно потом в админке подключать/отключать.