CakePHP 调用不同类的视图以使用主类视图呈现


CakePHP calling a view of a different class to render with the main class view

我很困惑如何在另一个类中呈现属于一个类的视图。所以我有一个想要调用我的学生控制器索引函数的家庭控制器。我不明白CakePHP是如何做到这一点的。

你通常不必这样做。如果控制器需要共享另一个视图的一部分,则应将其提取到共享元素中。这样,他们可以轻松地使用相同的视图部分。

如果你真的必须这样做,你可以使用 render() 的绝对语法来渲染其他控制器的视图。但我不建议这样做。

$this->render('/SomeController/action');

它非常简单,只需将代码放在您的操作中的HomeController中 -

$this->render('/Students/index');

你的目的是什么?也许需要调用所有操作,因为您需要该视图的变量。

为此,您可以使用:

$this->redirect(array('controller' => 'Students', 'action' => 'index'));