我第一次在CakePHP工作。我需要为单个控制器创建多个视图 例如:我有一个设置表。
1.ID
2.Name
3,01,05,06
我使用蛋糕烘焙创建了它的模型和控制器。但我有多个视图从数据进入设置表的位置。我的指定,部门,资格,项目和许多其他内容的数据都会进入设置表的类型字段,并输入其名称。
因此,当我通过蛋糕烘焙创建模型和控制器时,它根据设置表创建视图,而我需要按类型查看页面,即创建指定,创建部门,创建项目以及查看,编辑和删除文件对他们来说。
请帮我找到实现目标的方法..
答案 0 :(得分:2)
我认为你在寻找
$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等。
答案 1 :(得分:1)
您可以通过在相应的视图文件夹中创建.ctp文件来添加视图(Views /“Modelname”/add_department.ctp)
在“Modelname”控制器中,您只需添加
function addDepartment() {
// Logic here
}
但是如果你只想设置类型,你可以创建一个普通的add.ctp并创建一个包含所有不同类型的Selectbox。
答案 2 :(得分:0)
您需要再次阅读模型视图控制器(MVC)的工作原理。
如果您想创建新部门,可能需要使用与departmentsController
模型相关联的Department
。
在每个控制器中,您将拥有与之关联的操作。这样,Cake Bake将为每个控制器生成add
,delete
和edit
代码。
当然,你可以在控制器中自己创建它们,你喜欢使用你想要的模型。但不要指望Cake烘焙工作方式不同:)