如果我对您的理解正确,您想在您网站不同区域的页面上显示不同的块,对吗?
如果是这种情况,请在您的 layout.html.twig(或 base.html.twig,或任何您可能称呼的名称)中设置您想要包含在页面上的块
示例 layout.html.twig:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Acme Example Page</title>
</head>
<body>
<div id="sidebar">
<div id="sidebar-menu-block" class="block">
{% include 'AcmeBundle:Sidemenu:sideMenu.html.twig' %}
</div>
<div id="sidebar-cart-block" class="block">
{% render url('acme_shopping_cart_block_url') %}
</div>
<div id="sidebar-poll-block" class="block">
{% render url('acme_poll_block_url') %}
</div>
</div>
<div id="content">
{% block body %}{% endblock %}
</div>
</body>
</html>
如果要包含扁平树枝模板,请使用“包含”。如果您需要在加载前需要处理的块,请使用“渲染”。
示例页面(即:AcmeUserBundle:Registration:register.html.twig):
{% extends 'layout.html.twig' %}
{% block body %}
<h1>My Page with a form!</h1>
<form>
{{ form_widget(form) }}
<input type="submit" value="Save" />
</form>
{% endblock body %}
上面的示例将使用 layout.html.twig 中定义的所有块包围您的 register.html.twig。查看 symfony 文档的“包含其他模板”部分:http: //symfony.com/doc/2.0/book/templating.html#include-other-templates