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

  • AutoHotkey Tutorials

    AutoHotkey T

    29 Mayıs 2010
  • apenney888

    apenney888

    27 EKİM 2010
  • RobertDuskin

    RobertDuskin

    12 HAZİRAN 2008