2016-09-27 72 views
1

我在模態和自我中呈現相同的頁面。樹枝塊在IF塊中使用

我不知道是否有某種方式來檢查一些條件,如果條件爲真,不包括使用標籤的頁眉和頁腳。

{% extends 'ProfileBundle::base.html.twig' %} 

{% block stylesheets %} 
    {{ parent() }} 
    <link href="..."/> 
{% endblock %} 

{% if modal is not defined %} 
    {% use 'ProfileBundle::navigation.html.twig' %} 
    {% use 'ProfileBundle::footer.html.twig' %} 
{% endif %} 

{% block main %} 
{% endblock %} 

回答

3

要使用use標籤中twig,你仍然需要打電話給他們,如果你想呈現的塊。因此,渲染塊之前,你可以添加你的條件(twigfiddle

page.twig

{% extends "base.twig" %} 

{% block stylesheets %} 
    {{ parent() }} 
    <link rel="text/css" href="page.css" /> 
{% endblock %} 

{% block content %} 
    {% if not modal is defined %}{{ block('navigation') }}{% endif %} 

    <h1>Content</h1> 

    {% if not modal is defined %}{{ block('footer') }}{% endif %} 
{% endblock %} 

base.twig

{% use "navigation.twig" %} 
{% use "footer.twig" %} 

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
     <meta charset="UTF-8"> 
     {% block stylesheets %} 
     <link rel="stylesheet" type="text/css" href="default.css" /> 
     {% endblock %} 
    </head> 
    <body>  
     {% block content %} 
     {% endblock %} 
    </body> 
</html> 

navigation.twig

{% block navigation %} 
<nav id="main"> 
    <a href="#">1</a> 
    <a href="#">2</a> 
    <a href="#">3</a> 
</nav> 
{% endblock %} 

footer.twig

{% block footer %} 
<footer> 
    &copy; {{ "now" | date('Y') }} 
</footer> 
{% endblock %}