IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

"No route found" [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 159
    Points : 88
    Points
    88
    Par défaut "No route found"
    Hello

    Je commence avec SF2 (je trouve ça cool comme Framework). Bon je suis un tuto de ce site d'ailleur. Celui sur la Filmotheque et j'ai une erreur de route que je n'arrive pas à résoudre et donc je bloque ... c'est moche.

    Je veux créer une nouvelle page pour lister des films de ma BDD, j'ai donc :
    un fichier : FilmController.php =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?php
     
    namespace MyApp\FilmothequeBundle\Controller;
     
    use Symfony\Component\DependencyInjection\ContainerAware;
    use Symfony\Component\HttpFoundation\RedirectResponse;
    use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
    use MyApp\FilmothequeBundle\Entity\Film;
    //use MyApp\FilmothequeBundle\Form\FilmForm;
     
    class FilmController extends ContainerAware
    {
    	public function listerAction()
    	{
    		$em = $this->container->get('doctrine')->getEntityManager();
    		$film = $em->getRepository('MyAppFilmothequeBundle:Film')->findall();
     
    		return $this->container->get('templating')->renderResponse('MyAppFilmothequeBundle:Film:lister.html.twig',array(
    			'film'=>$films)
    		);
    	}
    }
    un fichier : lister.html.twig =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Liste de tous les films de la Filmotheque :
     
    {%for film as films%}
    {{film}}<br>
    {%endfor%}
    un fichier : routing.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Bla
    Bla
    Bla
    ...
    myapp_film_lister :
      pattern: /film/
      defaults: { _controller: MyAppFilmothequeBundle:Film:lister }
    ET une bonne grosse erreur : No route found for "GET /film/

    Je pense que c'est vraiment simple mais je trouve pas le truc, si quelqu'un peu me donner un coup de pouce

    Merki

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 159
    Points : 88
    Points
    88
    Par défaut
    Rapidement : a ce que j'ai compris, avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    myapp_film_lister :
      pattern: /film/
      defaults: { _controller: MyAppFilmothequeBundle:Film:lister }
    Je créé une route de l'URL "/film/" sur l'action lister du controler "FilmController" qui lui "return" sur mon template : "lister.html.twig" avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    return $this->container->get('templating')->renderResponse('MyAppFilmothequeBundle:Film:lister.html.twig',array(
    			'film'=>$films)
    C'est bien ça ?

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Points : 347
    Points
    347
    Par défaut
    cette commande va t'aider et tu verra si ta route existe ou pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console router:debug
    sinon tu t'es planté quelque part !

    ou alors ton bundle n'est pas définit dans Symfony/app/config/routing.yml !!

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 159
    Points : 88
    Points
    88
    Par défaut
    Suite à la commande router:debug =>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    MyAppFilmothequeBundle_homepage ANY    /myapp/hello/{name}
    myapp_accueil                    ANY    /myapp/
    myapp_acteur_lister             ANY    /myapp/acteur/
    myapp_acteur_ajouter            ANY    /myapp/acteur/ajouter
    myapp_acteur_modifier           ANY    /myapp/acteur/modifier/{id}
    myapp_acteur_supprimer          ANY    /myapp/acteur/supprimer/{id}
    myapp_film_lister               ANY    /myapp/film/
    Si mon bundle est bien définit mon projet fonctionne très bien c'est juste la page film (lister.html.twig) qui ne fonctionne pas.

    sinon tu t'es planté quelque part !
    => Arf oui je pense bien...

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Points : 347
    Points
    347
    Par défaut
    en fait je ne comprends pas tu met quelle URL pour que sf2 te renvoi cette erreur ??

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 159
    Points : 88
    Points
    88
    Par défaut
    ET une bonne grosse erreur : No route found for "GET /film/
    L'url appelé est la suivante : http://localhost/symfony/web/app_dev.php/myapp/film/

    Mais la en touchant le code j'ai une nouvelle erreur : Unexpected token "name" of value "as" ("operator" expected with value "in") in MyAppFilmothequeBundle:Film:lister.html.twig at line 6

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 159
    Points : 88
    Points
    88
    Par défaut
    Re,

    Bon voila c'est réglé plus de problème. Mais j'ai pas l'impression d'avoir fais grand chose...

    Pour l'erreur dans mon fichier lister.html.twig :
    J'ai remplacé ça :
    {%for film as films%}
    Par :
    {%for film in films%}

    Merci pour ton aide

  8. #8
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 394
    Points : 347
    Points
    347
    Par défaut
    film est un tableau tu peux afficher tous ces éléments (champs de l'entité film : id, titre ..... ) je ne sais pas ce que tu as ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    {% for film in films %}
     
    {{ film.id }}
    {{ film.titre }}
     
    {% endfor %}

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo