在CakePHP 3中重用模板?

时间:2016-06-22 15:14:50

标签: php cakephp cakephp-3.0

假设我有一个模板default.ctp,无论如何我可以将该模板用于多个控制器,或者在模板丢失时将其设置为后备模板?

Ex:localhost/users/login/调用UsersController->login,尝试查找login.ctp。如果缺少login.ctp,我可以改为使用default.ctp吗?

1 个答案:

答案 0 :(得分:1)

default.ctp是布局文件,将在所有情况下使用,除非您明确指示不要:

$this->viewBuilder()->layout('');

虽然您的示例中的login.ctp是用于登录操作的 view文件。因此,它们不是替代品,而是合并显示最终产出的合作伙伴。无论是否存在视图文件,布局/模板都将始终存在。如果您不想使用任何文件显示输出。只需写下:

$this->render(false);

$this->autoRender = false;

只有在您专门调用Controller :: render()方法时才会调用视图文件。