我正在疯狂寻找解决方案。我需要做一件非常简单的事情 - 将变量传递给自定义404 页面布局。Laravel 通过创建一个类似的文件,让您可以轻松地为您的 http 错误创建自定义视图,/resources/views/errors/404.blade.php但为什么它不能轻松地让您将变量传递给它呢?
我尝试覆盖app/Exceptions/Handler.php渲染方法:
public function render($request, Exception $e)
{
if($this->isHttpException($e)){
switch ($e->getStatusCode()) {
case '404':
parent::render($request, $e)->flash();
$categories = Category::hierarchy();
return View::make('errors.404')->with(['categories' => $categories]);
break;
default:
return $this->renderHttpException($e);
break;
}
}
return parent::render($request, $e);
}
Run Code Online (Sandbox Code Playgroud)
但无论出于何种原因,这都不起作用,我无法访问主布局中的类别变量。我正在一个在错误页面上显示标题的网站上工作,但如果我无法将变量传递给错误视图,则无法创建我的标题。
未定义变量:类别
任何人都知道可能会出什么问题?这样做是不可能的吗?我读过您可以传入异常并从中获取消息,但这有什么意义?我不想复制整个布局并重写所有变量。