カスタム例外エラー ページを作成しようとしており、Mike のチュートリアルに従っています。次のコードを config.yml に挿入し、 に ExceptionController を作成しましたStoreBundle\Controller\ExceptionController.php
。にアクセスして 404 エラー ページをテストしようとするとlocal.store.com/fake-page
、NotFoundHttpException: 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.php
。StoreBundle\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' => '',
));
}
}
}