lal*_*ala 2 symfony fosuserbundle
我想在我的布局中获得角色的名称和last_login的日期.
我使用Symfony 2.5和FosuserBundle
所以,当我使用:
{{ app.user.username }}
Run Code Online (Sandbox Code Playgroud)
我得到用户名,但当我使用时:
{{ app.user.roles }}
Run Code Online (Sandbox Code Playgroud)
我得到数组这是很正常的,因为它是数组.
<div class="floatleft marginleft10">
<ul class="inline-ul floatleft">
<li>Espace {{ app.user.username }}</li>
<li><a href="{{ path('fos_user_security_logout') }}">Logout</a></li>
</ul>
<br />
<span class="small grey">Last Login: {{ app.user.last_login }}</span>
</div>
Run Code Online (Sandbox Code Playgroud)
当我添加{{app.user.last_login}}时,我得到了异常:
Method "last_login" for object "My\testBundle\Entity\Collaborateur" does not exist in MytestBundle::layout2.html.twig
Run Code Online (Sandbox Code Playgroud)
任何帮助请!!
角色
你会(如你所说)将返回从一个数组app.user.roles或者$user->getRoles()所以你应该把它当作一个数组.
列表..
<ul>
{% for role in app.user.roles %}
<li>{{ role }}</li>
{% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)
或以逗号分隔..
{% for role in app.user.roles %}
{{ role }}{% if false == loop.last %}, {% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
上次登录
该领域是......
/**
* @var \DateTime
*/
protected $lastLogin;
Run Code Online (Sandbox Code Playgroud)
所以你应该使用..
{{ app.user.lastLogin }}
Run Code Online (Sandbox Code Playgroud)
可能还有日期过滤器..
{{ app.user.lastLogin|date('Y-m-d H:i:s') }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3371 次 |
| 最近记录: |