2010-07-22 87 views
0

我正在開發一個使用Cakephp的webapp。我爲網站創建了一個默認佈局。我創建了諸如頁眉,頁腳,內容等部分。在Cakephp中使用佈局/元素

現在我的內容部分中的一些頁面具有相同的結構。這些是控制器的一部分,爲每個頁面定義了各種視圖。我應該在這裏使用什麼樣的視圖模板?佈局或元素?

如果我使用佈局,我將使用控制器來決定我將使用的佈局,但不會改變整個網站的佈局嗎?

Regards

回答

1

這實在是一個偏好問題。我嘗試將佈局看作頁面的「結構」 - 所以標題,左導航的佔位符,頂導航的頁腳,頁腳的佔位符。那種事。我在佈局中定義這些部分。

我會推薦「我的內容部分中的頁面[結構相同]是您的佈局。正如你所提到的,你可以在控制器中切換佈局,但任何類似的結構化的頁面(一旦你刪除內容將看起來一樣的頁面)我會共享一個佈局。

佈局切換的另一個例子可以用於登錄與匿名用戶。對於已登錄的用戶,網站經常在頂部放置一個「歡迎,$名稱」消息,以及指向我的帳戶的鏈接,退出等。我經常發現自己使用不同的佈局來登錄與非匿名用戶。同樣,在這種情況下,我使用beforeFilter()方法爲給定的控制器設置佈局,因爲我知道用戶是否登錄或執行回調時。

對不起,這是一個灰色區域(何時使用佈局與不同的元素)。

+0

感謝這個漫不經心:)。關於我的問題的一件事是,所謂的頁面(具有相同的結構)以相同的方式構建其內容。頁眉,頁腳,菜單和全部仍然與主佈局相同。在這種情況下,有什麼方法可以在佈局中使用佈局? – vikmalhotra 2010-07-22 21:45:27

+0

我會將這些元素放入元素中,您可以從佈局中包含這些元素。從語義上講,它更有意義 - 佈局是骨架,可以由多個組件(元素)組成。它將隱喻混合一點,以包含另一個內部的佈局。 – 2010-07-27 15:35:08