0

カスタム例外エラー ページを作成しようとしており、Mike のチュートリアルに従っています。次のコードを config.yml に挿入し、 に ExceptionController を作成しましたStoreBundle\Controller\ExceptionController.php。にアクセスして 404 エラー ページをテストしようとするとlocal.store.com/fake-pageNotFoundHttpException: No route found for "GET /fake-page"エラーが発生します。ページが見つからない場合、私の ExceptionController はすべてのユーザーをリダイレクトすると思われるので、ページに a を追加しvar_dump('testing')ましたが、ダンプされませんでした。挿入したコードを削除しようとしましたconfig.ymlが、代わりにデフォルトの Symfony エラー ページが表示されます。で何か間違ったことをしていconfig.ymlますか?

に挿入app/config/config.yml:

twig:
    exception_controller: StoreBundle\Controller\ExceptionController::showAction

編集

私の問題はコントローラーにあると思います。これは私が持っているものですStoreBundle\ControlleExceptionController.phpStoreBundle\Resources\views\Pages\Errors\404.html.twig私のエラーページはStoreBundle\Resources\views\Pages\Errors\500.html.twig

<?php
namespace StoreBundle\Controller;

use Symfony\Component\HttpKernel\Exception\FlattenException;
use Symfony\Component\HttpKernel\Log\DebugLoggerInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\TwigBundle\Controller\ExceptionController as BaseExceptionController;

class ExceptionController extends BaseExceptionController
    {
        public function showAction(FlattenException $exception, DebugLoggerInterface $logger = null, $format = 'html')
        {
            $template = $this->container->get('kernel')->isDebug() ? 'exception' : 'error';
            $code = $exception->getStatusCode();

        return $this->container->get('templating')->renderResponse(
            'StoreBundle:Exception:Pages/Errors:' . $code . '.html.twig', array(
                'status_code'    => $code,
                'status_text'    => Response::$statusTexts[$code],
                'exception'      => $exception,
                'logger'         => null,
                'currentContent' => '',
            ));

        }
    }
}
4

0 に答える 0