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 :

Unexpected end of template in "MyAppBundle:Entité1:show.html.twig" [2.x]


Sujet :

Symfony PHP

  1. #1
    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 Unexpected end of template in "MyAppBundle:Entité1:show.html.twig"
    Bon jour a toutes et a tous !!

    J'essaye de faire afficher un champs (comment) d'une entité 2 sur les pages de l'entité 1

    pour cela

    1. J'ai ajouter à la vue Entité1:show.html.twig :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {% for entity in entities %}
            <tr>
                <th>Comment</th>
                <td>{{ entity.comment }}</td>
            </tr>
    (c'est le champ "comment" de l'Entité2)

    2. Dans le controlleur Entité1Controlleur.php dans la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function ShowAction ($id)
     
     $entityreq = $em->getRepository('MyAppBundle:Entité2')->findByComment($id);
    et juste en bas de return :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'entities'    => $entityreq,
    Aprés l'actualisation de la page j'ai l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Unexpected end of template in "MyAppBundle:Entité1:show.html.twig"
    C'est les étapes qu'il faut faire pour ajouter et afficher un champ d'une entité sur vues d'une autres entité ??

    Merci bcp pour votre aide

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    montre ton fichier twig

  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
    Voila mon fichier Twig j'essaye d'ajouter le champ "comment" en bas

    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
    29
    30
    <h1>{{ entity.title }}</h1>
     
    <table class="record_properties">
        <tbody>
            <tr>
                <th>Title</th>
                <td>{{ entity.title }}</td>
            </tr>
        </tbody>
    </table>
     
    <ul class="record_actions">
        <li>
            <a href="{{ path('suisseapp') }}">
                Retour a la liste des applications
            </a>
        </li>
        <li>
            <form action="{{ path('suisseapp_delete', { 'id': entity.id }) }}" method="post">
                {{ form_widget(delete_form) }}
                <button type="submit">Supprimer</button>
            </form>
        </li>
    </ul>
    {#   les ligne que j'ai ajouter #}
    {% for entity in entities %}
            <tr>
                <th>Comment</th>
                <td>{{ entity.comment }}</td>
            </tr>
    Merci

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    et le endfor ?

    t'ouvres pas non plus de <table> ?

    c'est un peu nawak ton fichier là

  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
    Merci, Effectivement j'ai oublié le {% endfor %}, l'erreur est parti mais j'ai pas le champ comment dans ma vue :S

    J'ai met aussi les balises table et tbody mais riens :S

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    en plus ton table finis des de début, ensuite t'as un liste et re un tableau

    les tableaux c'est que pour les tableaux, les listes pour les listes, c'est pas pour faire la mise en page

  7. #7
    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
    C'est bon j'ai tout rangé j'affiche un mot <p></p> dans cet zone, mais le champ ne s'affiche tjrs pas !! tu sais pour quoi?

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    y'a une erreur ou ca affiche du vide, t'as regardé la source HTML ?

  9. #9
    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
    ya pas d'erreur juste les champs de l'entité 1, aaaa et pas de "comment" regarde :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <table class="comment">
           <tbody>
           <p>aaaaa</p>
    {% for entity in entities %}
            <tr>
                <th>Comment</th>
                <td>{{ entity.comment }}</td>
            </tr>
    {% endfor %}
           </tbody>
    </table>
    Normalement il doit afficher le contenu de {{ entity.comment }} !!!
    ca affiche du vide peut etre la requête dans le controlleur est fausse ???

    et <p>aaaaa</p> a l'intérieur de {% for entity in entities %} {% endfor %} ne m'affiche rien !!!

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    si il n'affiche rien c'est que y'a pas de comment

    montre les Entités (et le mapping), t'as pas besoin de de faire un findBy avec l'ORM

  11. #11
    Membre habitué Avatar de Avrel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2010
    Messages : 118
    Points : 177
    Points
    177
    Par défaut
    Ta requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $entityreq = $em->getRepository('MyAppBundle:Entité2')->findByComment($id);
    Elle est censée te retourner plusieurs entités ou une seule ?

    Parce que si ça te retourne qu'une seul entité oublie ta boucle for.

  12. #12
    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
    C'est bon fallait ecrire dans le controlleur de l'entité1 : $entityreq = $em->getRepository('MyAppBundle:Entité2')->findByXXXX($id);

    Telle que XXXX est un champ de l'entité 2 qui a une clé étrangère vers l'id de entité 1 (clé primaire) .

    en résumé :

    y a la jointure entre l'entité2 (XXXX) qui possède la clé étrangère. -> entité1(id) qui possède une clé primaire.


    Merci en tout cas

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    pas besoin de ça normalement, les entité sont lié donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $entite1->getEntite2s();

  14. #14
    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
    Ok, donc si par exemple je veux récupérer l'id de l'entity2, sachant que j'écris le code dans Entit1Controleur.php dans une fonction bien définie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $entity1->Entity2()->getId($id);
    et est ce que je définis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'entities'    => $entity2,
    et faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {% for entity is entities %}
     
    {% endfor%}
    dans la vue ??

  15. #15
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    pourquoi getId ?

  16. #16
    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
    Normal dans l'Entity2.php on a une la méthode getId () elle permet de récupérer les id !!!!

  17. #17
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par aitiahcene Voir le message
    Normal dans l'Entity2.php on a une la méthode getId () elle permet de récupérer les id !!!!
    je veux bien mais pourquoi mettre $id ?

  18. #18
    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
    ... getId($id); et $id c'est la valeur actuelle de l'id, tu sais dans l'url ya par exemple : myrouting/12/edit

    Tu peux faire une requête en précisant ... getId('12')
    Et si tu fais ....getId($id) l'EntityManager de Doctrine comprend que c'est l'id actuel !! a mon avis c'est ca dont il s'agit !!

  19. #19
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par aitiahcene Voir le message
    ... getId($id); et $id c'est la valeur actuelle de l'id, tu sais dans l'url ya par exemple : myrouting/12/edit

    Tu peux faire une requête en précisant ... getId('12')
    Et si tu fais ....getId($id) l'EntityManager de Doctrine comprend que c'est l'id actuel !! a mon avis c'est ca dont il s'agit !!
    non c'est pas ça, tu confonds avec find
    est ce que tu sais vraiment a quoi sert un ORM ?

  20. #20
    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
    la classe générer aprés le mapping; ont leurs accesseurs/mutateurs Get et Set!! exemple:

    * en PHP : <?php

    $user['id']

    * en ORM : getId() dans une classe qui s'appelle User !!!

    L'ORM sert à gérer notre base de donnés, comme tout est de l'objet dont les donnés, il remplace le SGBDD (MySQL ...) si tu veux c'est en quelque sorte un système de gestion d'objets relationnels (objets=donnés).

    A ma connaissance :S

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 10
    Dernier message: 21/07/2006, 08h44
  2. [FPDF] erreur unexpected $end
    Par BenoitDenis dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 03/04/2006, 14h21
  3. Shell - erreur unexpected end of file
    Par claralavraie dans le forum Linux
    Réponses: 7
    Dernier message: 12/01/2006, 09h59
  4. Erreur unexpected end of file
    Par snoop dans le forum Linux
    Réponses: 6
    Dernier message: 22/03/2004, 10h37

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