0

我有一个被解雇的事件监听器onKernelRequest。该侦听器检查请求是否来自移动设备。如果不是,它会返回一个模板作为响应。

那就是支票:

if(!$this->browserHelper->isMobile() && !in_array($routeName, $routes) && (false === strpos($routePath, '/admin'))) {
  $event->setResponse($this->templateController->templateAction('frontend/staticPage/only-mobile.html.twig'));
}

现在我的调试栏被隐藏并且控制台输出

未捕获的类型错误:无法读取 null 的属性“nodeValue”

如果我评论那个if身体,一切都很好。奇怪的是,即使if是假的,错误也会发生。

我怎样才能解决这个问题?


编辑:我已将该错误本地化为$event->setResonse(),$eventGetResponeEvent

4

1 回答 1

0

您是否尝试将树枝文件更改frontend/staticPage/only-mobile.html.twig为另一个文件?调试工具栏只有在你的 html 中有和标签时才能显示,它可能有助于了解一个极简的 twig 文件。

您可能会在此处获得有关最后一个请求的更多详细信息:http://127.0.0.1:8000/_profiler/search?limit=10

顺便说一句,我更喜欢使用重定向new RedirectController而不是直接从侦听器呈现模板。这可能是绕开问题。

于 2018-11-27T15:24:32.673 回答