2011-07-01 41 views
0

我正在使用CakePHP 1.3和一個包含用戶有權訪問管理的組織下拉列表的佈局,所以我試圖用包含用戶標識的組織來填充該下拉列表登錄,但我想在用戶看到任何東西之前填充它,以便他們可以在標題中使用它。下拉菜單需要在登錄後出現在每個頁面上。我嘗試添加查詢以將這些組織拖入appcontroller中,但是在過濾器之前尚未使用userid。我該在哪裏或如何做到這一點?它應該在會議中還是有更好的結構使用?元件?填充整個下拉網站的最佳方式是

回答

0

在我的應用程序中使用beforeRender中的user_id是沒有問題的(如果您使用的是Auth組件)。您可以使用$this->Auth->user('id')

我會這樣做:如果用戶登錄,請檢查AppController。如果他是,從數據庫(或無論您獲取信息)中提取想要的信息並將其存儲在名爲$dropdown例如。
如果用戶未登錄,$dropdown將爲false
你現在做這個變量提供給視圖與$this->set(compact('dropdown'))

現在,在您的佈局(這是很重要的,你有它的每一頁上),你可以很容易地做一個檢查,如果$dropdown是虛假或不。如果不是,您可以使用變量並向用戶顯示想要的下拉菜單。

+1

但是使用beforeRender很重要。 BeforeFilter會是錯誤的,因爲在所有情況下都不會啓動/觸發。然而,beforeRender是。 – mark

相關問題