CakePHP异常更改模板

时间:2018-09-27 12:20:14

标签: templates exception cakephp cakephp-3.x

如何在扩展了内置异常的插件中仅用一个异常模板替换自己的异常? :)

位于/vendor/author/pluginName/src/Exception/TestException.php

中的异常

但是我尝试用创建文件/src/Template/PluginName/Error/test.ctp替换模板,但是不起作用。

当然,如果我在/src/Template/Error/test.ctp中创建文件,效果很好。
我有很多插件,每个插件都有自己的TestException类。

那么,我该如何使用/PluginName目录?

蛋糕3.6

1 个答案:

答案 0 :(得分:0)

在应用程序级别覆盖插件模板的正确模板路径以Template/Plugin/开头,然后是插件名称和预期的本地模板路径,即,对于名为Foobar的插件而言,覆盖路径其test错误模板为:

src/Template/Plugin/Foobar/Error/test.ctp

另外请务必牢记,如果在当前全局请求对象({{1}时,在插件控制器请求中触发了异常,默认情况下,错误模板将默认情况下仅在插件中查找) })设置了插件参数(Router::getRequest(true))!

还应注意,映射到异常/方法名称的单个模板将仅用于非HTTP异常($request->getParam('plugin')),并且仅在启用调试模式(如果它是HTTP异常)时使用或禁用了调试模式,则仅使用\Cake\Http\Exception\HttpExceptionerror400模板!

另请参见