2012-08-24 242 views
-1

我有一個總體佈局。 (default) 但對於用戶頁面,我應該爲每個頁面添加一個面板。佈局佈局

我試過$this->renderLayout('panel_code', 'default');,但沒有工作;並打印默認佈局視圖view內容!沒有panel_code

我的錯誤在哪裏?

+0

沒有'elements'就不可能?爲此範圍正確創建了 – mrdaliri

+0

元素。 – 2012-08-24 12:26:00

回答

1

您應該使用.ctp擴展名在View/Elements文件夾中創建元素。

This link可以幫助您清晰地將視圖文件與相關/重複的代碼分開。

元素基本上是一個迷你視圖,可以包含在其他視圖中,佈局中甚至其他元素中。可以使用元素使視圖更具可讀性,將重複元素的呈現放置在其自己的文件中。他們還可以幫助您在應用程序中重新使用內容片段。

元素存在於/ app/View/Elements /文件夾中,並具有.ctp文件擴展名。它們使用視圖的元素方法輸出:

<?php echo $this->element('helpbox'); //without extension ?> 

您可以將視圖中的變量傳遞給元素。

在你看來:

<?php echo $this->Element('reviews/view-goal', array('history' => $history)); 

鑑於-goal.ctp元素,您可以直接訪問$history變量。