繁体   English   中英

Symfony2项目,使用树枝的模板设计问题

[英]Symfony2 Project, Problems with template design using twig

我对使用树枝的模板有疑问,我的问题是以下问题,我有一个名为index.html.twig的页面,该页面从base.html.twig扩展而来。 在index.html.twig中,有两个include块(一个用于上层菜单栏;一个导航栏,另一个对应于页脚)。我的导航栏包含以下用于匿名用户的选项,

--login - 注册 - Contact--

现在,如果我登录,则想加载一个不同的导航栏,而不是以前的导航栏

-您已以Blablabla签名-编辑个人资料-退出-

我该怎么做? 我的意思是,基于会话包括不同的块。 我是否必须在视图中检查用户是否已登录? 还是我必须在控制器中签入用户是否有会话,然后加载另一个index.html.twig(一个用于登录用户)。关于最后一个选项,我可以创建一个index.html.twig,然后indexLoggedIn.html.twig,在控制器中,我可以检查用户是否登录,然后渲染indexLoggedIn,否则加载index.html.twig。 我使用FOSUserBundle进行用户管理。 谢谢!

您可以执行以下操作:

{% if app.user and is_granted("IS_AUTHENTICATED_REMEMBERED") %}
  {{ include('FooBarBundle:Navbar:authenticated.html.twig') }}
{% else %}
  {{ include('FooBarBundle:Navbar:anonymous.html.twig') }}
{% endif %}

请参阅有关何时检查IS_AUTHENTICATED_REMEMBERED以及何时使用IS_AUTHENTICATED_FULLY文档 而看到一个 许多 其他 SO 职位更多的提示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM