2013-02-11 196 views
2

我想設置一些常用模板,我想在整個網站中使用它。 從模板開始渲染用戶。我已經分爲兩個不同的子模板是: users.html.twig(模板,以便向用戶展示的表) user.html.twig(模板來呈現一個用戶)通過多個模板傳遞塊

取決於控制器此子模板是「包含」我可能想爲每個用戶添加一些按鈕。

讓我們假設我有一個可以搜索用戶的操作。此動作有模板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')}},包含,嵌入,使用等等的幾種組合,但沒有找到解決方案。

回答

-1

Should't

{% endembed %} 

{% embeded %} 
+0

沒有,我認爲它的權利,因爲我想ENDembed – m0c 2013-03-27 11:10:48