[英]CakePHP : Multiple views from One Controller
我第一次在CakePHP中工作。 我需要為單個控制器創建多個視圖。
例如:我有一個設置表。
1.ID
2.名稱
3.類型
我使用蛋糕烘焙創建了其模型和控制器。 但是我有多個視圖,數據從那里進入設置表。 我的名稱,部門,資格,項目和許多其他內容的數據進入設置表的類型字段,並輸入其名稱。
因此,當我通過蛋糕烘烤創建模型和控制器時,它是根據設置表創建視圖,而我需要按類型創建視圖頁面,即創建名稱,創建部門,創建項目以及查看,編輯和刪除它們的文件。
請幫我找到一種方法來實現這一目標。
我想你在找
$this->render('viewfilename');
根據需要創建任意多個視圖,然后根據需要從控制器的特定視圖中發送。
例如:
public function add($type) {
if ($this->request->is('post')) {
...
}
$this->set(............);
switch ($type) {
case 'designations':
$this->render('add_designations');
break;
case 'departments':
$this->render('add_departments');
break;
case 'qualifications':
$this->render('add_qualifications');
break;
}
}
並在視圖文件夾中將視圖文件制作為add_designations.ctp,add_departments.ctp,add_qualifications.ctp等。
您可以通過在各自的“視圖”文件夾中創建一個.ctp文件來添加視圖(“視圖/“模型名稱” /add_department.ctp)
在“型號名稱”控制器中,您只需添加
function addDepartment() {
// Logic here
}
但是,如果只想設置類型,則可以創建一個普通的add.ctp並使用所有可能的類型創建一個Selectbox。
您需要再次閱讀模式模型視圖控制器(MVC)的工作方式。
如果要創建一個新部門,則可能要使用與Department
模型關聯的departmentsController
。
在每個控制器中,您將具有與其關聯的動作。 這樣,Cake Bake將為每個控制器生成add
, delete
和edit
代碼。
當然,您可以在自己喜歡的控制器中使用自己想要的模型自己創建它們。 但是不要指望Cake烘烤會有所不同:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.