0

我的布局中有一些不应该显示在某些页面中的内容。

例如:当用户注册网站时,我的默认首页侧边栏不应该显示:

<!DOCTYPE html>
<html>
    <head>
        {% block head %}
            <link rel="stylesheet" href="style.css" />
            <title>{% block title %}{% endblock %} - My Webpage</title>
        {% endblock %}
    </head>
    <body>
        <div id="content">
           <div id="sidebar">
               {% block sidebar %}
                   {% render "/layout/sidebar" %}
               {% endblock %}
               {% block content %}{% endblock %}
           </div>

        </div>
        <div id="footer">
            {% block footer %}
                &copy; Copyright 2011 by <a href="http://domain.invalid/">you</a>.
            {% endblock %}
        </div>
    </body>
</html>

在上面的代码中:

 {% block sidebar %}

应该显示一些广告!

所以:

就像是:

{% if SOMEVIEW == TRUE %}
    {% block sidebar %}
{% else %}
    {% block advertising %}
{% endif %}

我可以在我的 IF 中使用什么表达式来完成这项工作?

提前致谢

4

2 回答 2

1

您可以查看 如何检查用户是否在控制器内登录 Symfony2?

http://symfony.com/doc/current/book/security.html#access-control-in-templates

在视图中,您可以使用它{{ is_granted('IS_AUTHENTICATED_FULLY') }}来检查用户是否已登录。

希望它有帮助。

最良好的问候。

于 2013-08-30T06:51:10.320 回答
0

我在这里遇到了解决方案http://symfony.com/doc/current/cmf/bundles/core.html#twig

app.request.attributes.get('_template').get('name')

将返回路线名称,以便我可以在我的树枝文件中处理它。

于 2013-08-30T14:52:55.863 回答