2011-08-23 87 views
0

我正在開發像網站一樣的社交網絡,並且在如何管理不同類型用戶的視圖方面遇到了一些麻煩。我有幾個頁面,它的內容和結果視圖取決於用戶的權限。例如,如果用戶是一個組(具有成員資格證書)的成員可以在該組頁面中看到很多事情,但是如果他不是,那麼該模板應該有如此多的不同。針對具有不同權限的不同用戶顯示不同的視圖

最簡單的方法是用IF結構控制頁面的每個部分。但它有點討厭,我不喜歡它。

你有什麼更好的想法或ifs是這些情況下的最佳解決方案。

感謝您的幫助。

回答

0

它的種類取決於你如何喜歡創建你的模板。 :-)

  1. 合併插槽,部分和組件。這可能是最簡單和最「可讀」的解決方案。它將簡單可重用塊中的邏輯分開。
  2. 您可以創建單獨的佈局,並在你的模板調用<?php decorate_with('template_user'); ?>(在if -statements增加的部分,幷包括部分)
  3. 或創建你自己的基本動作類,這在preExecute()設置模板(this->setLayout('template_user')
  4. 創建單獨的操作,並根據用戶的權限轉發用戶。

我會去的第一:-)

+0

感謝。他們中的大部分都在我的腦海裏,但我想我也是第一個去的。 – Firouziam