我有调度错误侦听器,在那里我得到了抛出异常并检查它是否是CustomeException的实例。在这种情况下,我想使用默认布局设置自定义视图模板。
public function attach(EventManagerInterface $events, $priority = 1)
{
$this->listeners[] = $events->attach(MvcEvent::EVENT_DISPATCH_ERROR, [$this, 'handleError'], 0);
}
public function handleError(MvcEvent $e)
{
$request = $e->getParam('application')->getRequest();
if ($request instanceof ConsoleRequest) {
return;
}
$exception = $e->getResult()->exception;
if ($exception instanceof FileNotFoundException) {
$view = new ViewModel(['message' => $exception->getMessage()]);
$view->setTerminal(false);
$view->setTemplate('admin/filenotfound');
$e->setViewModel($view);
}
}
对于此代码,我得到了带有“消息”的白页,但未设置布局。如何在模块的默认布局上添加自定义视图模板?