2016-09-27 95 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 %}