Özel Silex & Dal yardımcıları hata sayfaları | Netgez.com
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

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • Jana Williams

    Jana William

    17 AÄžUSTOS 2011
  • The Computer Chronicles

    The Computer

    7 Kasım 2012