2

我有调度错误侦听器,在那里我得到了抛出异常并检查它是否是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);
    }
}

对于此代码,我得到了带有“消息”的白页,但未设置布局。如何在模块的默认布局上添加自定义视图模板?

4

0 回答 0