我正在尝试设置一些常用模板,我希望在整个网站中使用这些模板。 从模板开始以呈现用户。我已将其分为两个不同的子模板: users.html.twig(模板以显示用户表) user.html.twig(用于呈现单个用户的模板)
根据Controller的不同,这个子模板是“包含”的,我可能想为每个用户添加一些按钮。
让我们假设我有一个可以搜索用户的动作。此Action具有模板search.html.twig 现在我想在search.html.twig中包含users.html.twig,其本身包含user.html.twig。棘手的部分是,我想在search.html.twig中定义一个在user.html.twig中呈现的块。我尝试嵌入,但不幸的是它什么都没有:
search.html.twig
{% embed 'StregoUserBundle:Entity:users.html.twig' with {'users': results, 'perRow' : 3} %}
{% block user_additional %}
TOOOOOOOOOOOOP
{% endblock user_additional %}
{% endembed %}
users.html.twig
{% block user_table %}
{% for user in users %}
<div >
{% embed 'StregoUserBundle:Entity:user.html.twig' with {'user': user} %}
{% block user_additional %}
{{ parent()}}
{% endblock user_additional %}
{% endembed %}
</div>
{% endfor %}
{% endblock user_table %}
user.html.twig
{% block single_user %}
<div class="people-list">
<a href="{{ path('profile_show', { 'username': user.username }) }}">
<img src="{{ user.profilePic | imagine_filter('profile_thumb') }}" alt="{{ user.username }}" class="img-polaroid">
</a>
<a href="{{ path('profile_show', { 'username': user.username }) }}"><h3>{{ user.username }}</h3></a>
<h3><small>{{ user.firstName }} {{ user.lastName }}</small></h3>
{% block user_additional %}
{% endblock user_additional %}
</div>
{% endblock single_user %}
我尝试了{{block('XXX')}},包含,嵌入,使用等的几种组合......但没有找到解决方案。
答案 0 :(得分:-1)
不应该
{% endembed %}
是
{% embeded %}