SORU
24 EKİM 2012, ÇARŞAMBA


Özel Silex & Dal yardımcıları hata sayfaları

Silex özel hata sayfası oluşturmak için çalışırken bir sorun ile mücadele ediyorum.

Neye göre bu link :http://refactoring.us/silex/custom-error-pages-with-silex-and-twig/ içinde buldum

Benim uygulamada özel 404 hata sayfası olarak ayarlamak için çalışıyorum. Her dal benim şablon yardımcıları kullanmaya başlayana kadar gayet iyi çalışıyor.

404 hata sayfası şablonu için örnek bir kod aşağıdaki gibidir :

{% extends "layout.html.twig" %}

{% block main %}
<div id="error404">
    <h2>{{ app.translator.trans('page404.title') }}</h2>
    <p>{{ app.translator.trans('page404.para1') }}</p>
    <p class="btn-footer">
        <a href="{{ url('home') }}" class="btn">{{ app.translator.trans('page404.button') }}</a>
    </p>
</div>
{% endblock %}

Benim Silex app kullanma: hata için PHP kodu

$app->error(function (\Exception $e, $code) use($app) {
    switch ($code) {
        case 404:
            $message = $app['twig']->render('error404.html.twig');
            break;
        default:
            $message = $app['twig']->render('error500.html.twig');
    }
    return new Response($message, $code);
});

Ben

{{ url('home') }}
(Bu yardımcı ve yol mükemmel diğer durumlarda işe yarıyor!) kez çıkarın Doğru işlenmiş bir site, ama çevirilerin olmadan alıyorum.

Yardımcısı ile aşağıdaki hatayı alıyorum:

Fatal error: Uncaught exception 'Symfony\Component\Routing\Exception\RouteNotFoundException' with message 'Route "" does not exist.' in D:\projects\projectname\application\vendor\symfony\routing\Symfony\Component\Routing\Generator\UrlGenerator.php:119 Stack trace: 
#0 D:\projects\projectname\application\vendor\symfony\twig-bridge\Symfony\Bridge\Twig\Extension\RoutingExtension.php(45): Symfony\Component\Routing\Generator\UrlGenerator->generate(NULL, Array, false) 
#1 D:\projects\projectname\application\vendor\twig\twig\lib\Twig\Environment.php(327) : eval()'d code(68): Symfony\Bridge\Twig\Extension\RoutingExtension->getPath(NULL, Array) 
#2 D:\projects\projectname\application\vendor\twig\twig\lib\Twig\Template.php(265): __TwigTemplate_ca53e56b87abd45da5c34a79d4c2ce34->doDisplay(Array, Array) 
#3 D:\projects\projectname\application\vendor\twig\twig\lib\Twig\Template.php(239): Twig_Template->displayWithErrorHandling(Array, Array) 
#4 D:\projects\projectname\application\vendor\twig\twig\lib\Twig\Envir in D:\projects\projectname\application\vendor\twig\twig\lib\Twig\Template.php on line 280

Bazı yol ve bu adımlar bu sorunu gidermek için neden bu işin arkasında muhtemel sebebi ne olabilir ihtiyacım var. Tüm yardım için teşekkür ederiz.

CEVAP
30 EYLÜL 2014, Salı


Bu Silex bir sorun değil (an) - Her şey mükemmel benim yanımda çalışır (Silex1.2)

Uygulamanızda UrlGeneratorServiceProvider kayıt yaptırdın mı ?

web/index.php:

$app->register(new Silex\Provider\UrlGeneratorServiceProvider());

Ve gerçekten bu durumda url() yerine path()kullanmanız gerekir :

{{ path('home') }}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 1881 Animation

    1881 Animati

    5 EKİM 2013
  • footiecyclo

    footiecyclo

    26 EYLÜL 2009
  • Tomas N

    Tomas N

    14 Kasım 2010