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 :

Impossible d'inclure un template dans mon layout [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Par défaut Impossible d'inclure un template dans mon layout
    Bonjour,

    J'aimerais inclure un template "connexion.html.twig" (présent dans les View de mon bundle "Utilisateur"), dans le layout de mon bundle "Main", mais j'obtiens le message d'erreur suivant:

    Unable to find template "SiteUtilisateurBundle::connexion.html.twig" in "SiteMainBundle::layout.html.twig" at line 15.
    500 Internal Server Error - Twig_Error_Loader


    (Je suis ce tutorial: http://j-place.developpez.com/tutori...fony2/#LVI-A-1 et j'en suis tout à la fin).

    Voici le code de mon layout (dans mon MainBundle):
    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
    24
    25
    26
    27
    28
    <!DOCTYPE html>
    <html>
    	<head>
    		<title>{% block title %}Marketing{% endblock %}</title>
     
    		{% stylesheets output='css/am.min.css'
    			'../app/Resources/public/css/*' %}
    			<link rel="stylesheet" href="{{ asset_url }}" type="text/css" media="screen" />
    		{% endstylesheets %}
    		<script type="text/javascript" src="{{ asset('bundles/sitemain/js/jquery.js') }}"></script>
    		<script  type="text/javascript" src="{{ asset('bundles/sitemain/js/displaymenu.js.twig') }}"></script>
    	</head>
    	<body>
    		<div id="connexion">
    			{% include "SiteUtilisateurBundle::connexion.html.twig" %}
    		</div>
    		{% render "SiteMainBundle:Main:menu" %}
    		<div id="corps">	
    			{% block body %}
     
    			{% endblock %}	
    		</div> 
     
    		<div id="footer"> 
    			<p>Footer de la page !</p> 
    		</div>
    	</body>
    </html>
    Comment se fait-il que Symfony2 ne parvient à le trouver ?

    Merci !

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 104
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% include "SiteUtilisateurBundle::connexion.html.twig" %}
    Symfony va donc chercher le fichier dans
    "Site/UtilisateurBundle/Resources/views/connexion.html.twig" donc attention de ne pas mettre ton fichier du genre : "Site/UtilisateurBundle/Resources/views/NomDeDossier/connexion.html.twig"

    Pour pouvoir t'aider il faudrait que tu donnes le chemin vers ton template twig.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Par défaut
    Bonjour,

    Mon "menu.html.twig" est dans un sous dossier "Main" mais pas mon fichier "connexion.html.twig", voici l'url exacte:

    C:\wamp\www\site\src\Site\UtilisateurBundle\Resources\views

    J'ai aussi bien vérifier la syntaxe, le fichier est bien nommé "connexion.html.twig"... C'est désespérant !

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 104
    Par défaut
    Ton chemin est correct, ensuite c'est difficile de t'aider sur ce genre d'erreur.
    Tente un cache:clear (si pas déjà fait).
    Que disent les logs avant l'erreur?
    Y a t'il d'autres vues dans ton dossier et sous dossiers ,C:\wamp\www\site\src\Site\UtilisateurBundle\Resources\views ?
    Si oui est ce que tu peux y accéder ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 284
    Par défaut
    Oui la première chose que j'ai testé a été de vider mon cache.

    Voici le log d'erreur:
    Twig_Error_Loader: Unable to find template "SiteUtilisateurBundle::connexion.html.twig" in "SiteMainBundle:Main:menu.html.twig" at line 8. (uncaught exception) at C:\wamp\www\site\vendor\symfony\src\Symfony\Bundle\TwigBundle\Loader\FilesystemLoader.php line 80

    J'avais essayé de créer un sous-dossier "Test" et de faire un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% include 'SiteUtilisateurBundle:Test::connexion.html.twig' %}
    Mais ça me sortait la même erreur, sinon j'avais un sous-dossier "Default" (généré à la création du UtilisateurBundle) mais je l'ai supprimé (après avoir tester avec).

    Si jamais je peux te donner d'autres informations n'hésite pas je ne sais plus où chercher !

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Par défaut
    Bonjour,

    Ton Bundle UtilisateurBundle est t'il bien enregistré dans le AppKernel ?

    Est-ce que ça se produit uniquement lorsque tu inclus une template d'un autre Bundle?

    dans ton code de test il faut mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% include 'SiteUtilisateurBundle:Test:connexion.html.twig' %}
    avec un seul double point


    En espérant que ça t'aide

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 104
    Par défaut
    J'avais essayé de créer un sous-dossier "Test" et de faire un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% include 'SiteUtilisateurBundle:Test::connexion.html.twig' %}
    la c'est sûr que ça plante(les "::" au lieu de ":" entre Test et connexion). Si tu crée un sous dossier Test dans
    "C:\wamp\www\site\src\Site\UtilisateurBundle\Resources\views" tu dois utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% include "SiteUtilisateurBundle:Test:connexion.html.twig" %}
    Pour trouver ton fichier twig fonctionne comme suit:

    NomDuBundle:NomDuSousDossier:NomDuFichier

    où Nom du Bundle est dans ton cas SiteUtilisateur, si tu n'en mets pas il va chercher dans "C:\wamp\www\site\app\Resources\views"

    NomDuSousDossier correspond au sous dossier du dossier "views", si tu n'en mets pas il va chercher pour "SiteUtilisateurBundle::connexion.html.twig" le fichier "C:\wamp\www\site\src\Site\UtilisateurBundle\Resources\views\connexion.html.twig"

    Voilà, vérifie bien que tu as compris le fonctionnement et regarde si tout est ok.
    Pour moi Twig ne trouve pas le fichier là où il cherche, donc je pense que tu n'as pas du le placer là où il faut.
    "C:\wamp\www\site\src\Site\UtilisateurBundle\Resources\views\connexion.html.twig"
    Mais bon si tu as vérifié et qu'il est au bon endroit alors là je sais plus.

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

Discussions similaires

  1. inclure un pdf dans mon fichier d'installation
    Par rvdth dans le forum Windows Forms
    Réponses: 6
    Dernier message: 17/04/2008, 14h35
  2. Réponses: 9
    Dernier message: 20/01/2008, 15h16
  3. [FLASH 8] Inclure une police dans mon projet
    Par nounetmasque dans le forum Flash
    Réponses: 1
    Dernier message: 29/01/2007, 09h41
  4. Réponses: 9
    Dernier message: 12/05/2006, 09h06
  5. Réponses: 7
    Dernier message: 25/01/2006, 21h37

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