0

我第一次在 CakePHP 工作。我需要为单个控制器创建多个视图。
例如:我有一个设置表。

设置表的架构

1.ID
2.名称 3.
类型

我已经使用蛋糕烘焙创建了它的模型和控制器。但是我有多个视图从数据进入设置表的位置。我的职称、部门、资格、项目和许多其他东西的数据进入设置表的类型字段,并输入他们的名称。

因此,当我通过蛋糕烘焙创建模型和控制器时,它会根据设置表创建视图,而我需要按类型查看页面,即创建指定、创建部门、创建项目以及查看、编辑和删除文件。

请帮助我找到实现这一目标的方法..

4

3 回答 3

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 等。

于 2013-07-25T14:45:08.710 回答
1

您可以通过在相应的视图文件夹 (Views/"Modelname"/add_department.ctp) 中创建一个 .ctp 文件来添加视图

在您的“模型名称”控制器中,您只需添加

function addDepartment() {
    // Logic here
}

但是如果你只是想设置类型,你可以创建一个普通的 add.ctp 并创建一个包含所有不同可能类型的选择框。

于 2013-07-25T14:45:34.167 回答
0

您需要再次阅读模式模型视图控制器 (MVC) 的工作原理。

如果您想创建一个新部门,您可能希望使用departmentsControllerDepartment模型关联的。

在每个控制器中,您将拥有与之关联的操作。这样,Cake Bake 将为您的每个控制器生成add,deleteedit代码。

当然,您可以在您喜欢使用您想要的模型的控制器中自己创建它们。但不要指望蛋糕烘焙会有所不同:)

于 2013-07-25T14:33:08.450 回答