2014-03-13 30 views
0

我正在使用Symfony2。我有一個帶有導航欄的主要樹枝模板,根據用戶是否登錄,我想要一個帶有選項「登錄」或「註銷」的下拉菜單。 完成此操作的最佳方法是什麼?Symfony2:添加登錄和註銷選項html symfony2

-By作出不同的,靜態的主模板/管理/ *與註銷選項

- 通過檢查用戶是否登錄或沒有每個控制器內由路由系統被稱爲然後通過要顯示的樹枝模板正確的信息時,它從模板內的時間,以使其

-By調用諸如buildNavbarAuthOption(特定控制器)

最後的選擇似乎最好的一個不想要的時候使用MVC的程序,對嗎?

回答

1

在視圖中只需使用is_granted

{% if is_granted('IS_AUTHENTICATED_FULLY') %} 
    <a href="{{ path('name_of_logout_path') }}">Logout</a> 
{% else %} 
    <a href="{{ path('name_of_login_path') }}">Login</a> 
{% endif %} 
+0

有可能有多種方法可以完成這件事,但是這個是短而高效。 – Lapidouce

0

在你的主模板,如果存在變量app.user這樣你可以測試:如果當前

{% if app.user %} 
    {# display logout #} 
{% else %} 
    {# display login #} 
{% endif %} 

或者更好的是,測試訪問者具有最低安全角色:

{% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}