是否可以在错误页面上使用 AppController? (Cakephp 3.1)
Is it possible to use AppController on error pages? (Cakephp 3.1)
我正在尝试呈现错误模板(例如 error400.ctp),但默认布局(站点页眉和页脚)依赖于 AppController 中设置的组件和变量。我如何告诉 Cake 在呈现错误页面时使用 AppController?
我已经尝试制作一个扩展 AppController 的 ErrorController,但它会因缺少操作而中断。
这是我的工作 ErrorController,以防有人来找它:
<?php
namespace App\Controller;
use App\Controller\AppController;
use Cake\Event\Event;
class ErrorController extends AppController
{
public function beforeRender(Event $event)
{
parent::beforeRender($event);
$this->viewBuilder()->templatePath('Error');
}
}
我的一个组件在 AppController 中加载时出现错误。当 ErrorController 扩展 AppController 并尝试访问控制器中的无效操作时,它会创建 AppController 的两个实例,在我的例子中,由于我的组件中的错误而引发了 class 错误的重复声明。此错误导致某种循环导致错误页面无法呈现。
我正在尝试呈现错误模板(例如 error400.ctp),但默认布局(站点页眉和页脚)依赖于 AppController 中设置的组件和变量。我如何告诉 Cake 在呈现错误页面时使用 AppController?
我已经尝试制作一个扩展 AppController 的 ErrorController,但它会因缺少操作而中断。
这是我的工作 ErrorController,以防有人来找它:
<?php
namespace App\Controller;
use App\Controller\AppController;
use Cake\Event\Event;
class ErrorController extends AppController
{
public function beforeRender(Event $event)
{
parent::beforeRender($event);
$this->viewBuilder()->templatePath('Error');
}
}
我的一个组件在 AppController 中加载时出现错误。当 ErrorController 扩展 AppController 并尝试访问控制器中的无效操作时,它会创建 AppController 的两个实例,在我的例子中,由于我的组件中的错误而引发了 class 错误的重复声明。此错误导致某种循环导致错误页面无法呈现。