Bonjour,

je coince sur cette erreur depuis bientôt deux jours et cela commence à me faire perdre patience...en espérant que vous y verrez plus clair que moi.


Une ligne de l'un de mes twigs provoque une erreur 500

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<a target="_blank" href="{{ path(instance.module.type, {'instance': instance.id}) }}" class="min-button"><span class="icon-eye-view" title="See in preprod"></span></a>
Je veux donc simplement charger un lien ici: instance.module.type vaut "touring" et instance.id vaut 41


Cette ligne correspond à la ligne 64 dont parle les logs et qui me génère l'erreur suivante:

request.CRITICAL: Uncaught PHP Exception Twig_Error_Runtime: "An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route "touring" as such route does not exist.") in "BvaCoreBundle:Backend\Module:index.html.twig" at line 64." at C:\wamp64\www\portail_enqueteur\vendor\twig\twig\lib\Twig\Template.php line 222 {"exception":"[object] (Twig_Error_Runtime(code: 0): An exception has been thrown during the rendering of a template (\"Unable to generate a URL for the named route \"touring\" as such route does not exist.\") in \"BvaCoreBundle:Backend\\Module:index.html.twig\" at line 64. at C:\\wamp64\\www\\portail_enqueteur\\vendor\\twig\\twig\\lib\\Twig\\Template.php:222, Symfony\\Component\\Routing\\Exception\\RouteNotFoundException(code: 0): Unable to generate a URL for the named route \"touring\" as such route does not exist. at C:\\wamp64\\www\\portail_enqueteur\\var\\cache\\prod\\appProdProjectContainerUrlGenerator.php:451)"} []

Le truc, c'est que ma route touring existe bien normalement.

app/frontend.yml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
BvaTourringBundle_frontend:
    resource: "@BvaTouringBundle/Resources/config/routing/frontend.yml"
    prefix:   /touring
Bva/TouringBundle/frontend.yml (notez que touring est bien présente...)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
touring:
    path:     /{instance}
    defaults: { _controller: BvaTouringBundle:Frontend/Frontend:index }

Le contrôleur appelé va chercher une nouvelle vue via cette route

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
f_touring_recuperation:
  path: /itm_touring
  defaults: { _controller: McFrontendBundle:Touring:recuperation }
En toue logique, j'ai donc accès à ma vue lorsque je tape l'url: /touring/41

==> Mon routage est bon.

Mais dans la vue qui pose problème il me dit qu'il ne trouve pas la route touring...bref ça me rends fou...dîtes moi si vous y comprenez quelque chose
Notez que la ligne 64 en question es censé faire un lien vers la page de la vue accessible via /touring/41

Merci.



PS: Notez que la dernière route /itm_touring est en fait une iframe généré dans la page /touring/41 c'es donc normal que cela n'apparaisse pas directement dans l'url.




EDIT: Si ça peut vous aider à avoir plus clair...voilà ce que j'ai fait pour contourner le problème (solution temporaire pour pas perdre de temps en dev...mais j'aimerais bien trouver la solution quand même !)


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
{% if instance.module.type == "touring" %}
        <a target="_blank" href="./../../app_dev.php/touring/41"</a> 
{% else %}
         <a target="_blank" href="{{ path(instance.module.type, {'instance': instance.id}) }}"</a>
{% endif %}