我有几个在很多地方使用的视图。视图是相同的,但控制器不一样,所以我将 .ctp 文件放在 Elements 目录中,并在不同的控制器中使用以下代码。
$this->render('/Elements/overview');
但是,我也有一些 php 代码需要在每次视图加载时执行。所以我想只在 Contollers 目录中创建一个控制器,命名为 Elements 目录中的视图 (overviewController.php),但不幸的是,该控制器中的代码没有执行。
有没有办法做到这一点,还是我这样做完全错了?
编辑:好的,根据 Dave 的建议,我将 overview.ctp 文件复制到了一个名为 Global 的新目录中。将控制器重命名为 GlobalController.php,将类重命名为 GlobalController 并更改 $this->render。但是,视图仍然被加载,并且我用来渲染视图的控制器被加载,但 GlobalController 没有。