Silex - 如何处理模板包括单独

时间:2015-06-11 19:49:10

标签: symfony templates include silex

我有一个像这样的Twig基本模板:

{% include "./partials/navigation.html" %}

<!-- Main Wrapper -->
<div id="wrapper">
    {% block content %}{% endblock content %}
</div>

我还有一个路由控制器,它使用twig输出响应内容:

return template->render('path/to/teplate', args());

其中args []数组是该位所需的所有数据:(每页不同)

{% block content %}{% endblock content %}

但是我的侧边栏是通过菜单构建器类单独构建的,现在它需要将构建菜单的结果呈现给我的模板并填充 ./ partials / navigation.html

对我来说,一个简单的解决方案就是将菜单生成器的结果附加到每个控制器的返回响应中(我可以使用基本控制器类来执行此操作,因为此菜单出现在每个页面上)。然而,有些事情感觉不洁净,好像我每次必须渲染相同的页眉/页脚,我必须将所有3个输出附加到响应。 (也许那没关系?)

是否有更好的方法可以呈现多个包含内容的内容,每个内容都需要自己的数据库查找和其他服务器端逻辑?

1 个答案:

答案 0 :(得分:0)

是。它们被称为子请求。阅读documentation here