как добавить одинаковый контент во все шаблоны twig в symfony2 [дубликат]
На этот вопрос уже есть ответ здесь:
У меня есть вертикальное меню в главном шаблоне на моем веб-сайте, где я размещаю одинаковый контент на всех страницах веб-сайта, а все остальные шаблоны расширяют основной шаблон. Мой вопрос в том, как мы можем показать то же самое содержимое в моем меню на всех страницах без передачи одних и тех же объектов во всех других контроллерах, которые отображают веб-страницу, расширяющую основную, например:
У меня есть вертикальное меню в моем основном макете.html.twig, где я отображаю 3 объекта: объект1, объект2 и объект3.
При вызове функции визуализации в моих контроллерах должен ли я всегда передавать объекты object1, object2 и object3 в шаблоны, расширяющие основной шаблон?
Разве нет более простого и элегантного способа?
2 answers
Я думаю, вам нужно отделить это меню от макета. Выполните действие в контроллере для этого меню, действие будет управлять отображением вашего меню и объектов в этом меню. Затем отобразите это действие в шаблоне макета.
{% render "AcmeMenuBundle:Front:showMenu" %}
Если ваш вопрос касается создания меню, то я думаю, что самый элегантный способ - использовать KnpMenuBundle - https://github.com/KnpLabs/KnpMenuBundle/blob/master/Resources/doc/index.md.
Но если ваш вопрос касается добавления контента во все шаблоны twig, то я видел один и тот же ответ - Извлекать данные из шаблона twig в Symfony2?.