在IF块中使用Twig块USE

时间:2016-09-27 08:30:58

标签: symfony twig

我在模态和自我中渲染相同的页面。

我想知道是否有某种方法可以检查某些条件,如果条件为真,则不包含带有使用标记的页眉和页脚。

((CustomView) findViewById(R.id.customview)).update();

1 个答案:

答案 0 :(得分: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 %}