###前提・実現したいこと
エラー画面を作成しています。(404や500)
ルーティングしています。
###発生している問題・エラーメッセージ
app名/変な文字~
ならちゃんとレイアウトが適用されたエラーページが表示されるのですが、
app名/コントローラー名/変な文字~
だとレイアウトが適用されません。
###試したこと
ルーティングをしているので、その影響かもしれませんが、まったくわかりません。
ルーティングでエラー画面に遷移させようと思いましたが、できませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
画像を貼っておきます。
どうもこうも、この様よ!
必要なことがあれば、コメントください。
// src/Template/Error/Error500.ctp <?php use Cake\Core\Configure; use Cake\Error\Debugger; ?> <!-- 以下content --> <h1><span class="fui-alert-circle"></span> 500 Fatal Error</h1> <p>技術的な問題が発生ました。</p> <p>管理者に通報してください。</p> // src/Template/Error/Error404.ctp <?php use Cake\Core\Configure; use Cake\Error\Debugger; ?> <!-- 以下content --> <h1><span class="fui-question-circle"></span> 404 Not Found</h1> <p>お探しのページは一時的にアクセスできない状況にあるか、移動もしくは削除された可能性があります。</p> <p>また、URL、ファイル名にミスタイプがないか再度ご確認ください。</p>
// src/Error/AppExceptionRenderer.php <?php namespace App\Error; use Cake\Error\ExceptionRenderer; use Exception; use Cake\Log\Log; use App\Error\AppErrorController; class AppExceptionRenderer extends ExceptionRenderer { protected function _getController() { //オリジナルのエラーコントローラーを指定 return new AppErrorController(); } protected function _template(Exception $exception, $method, $code) { //「src/Template/Error/」の下にあるTemplateファイルを参照している $template = 'error500'; if ($code == 403) { $template = 'error403'; } elseif ($code < 500) { $template = 'error404'; } return $this->template = $template; } }
回答2件
あなたの回答
tips
プレビュー