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 :

Héritage de layouts


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 55
    Points : 30
    Points
    30
    Par défaut Héritage de layouts
    Bonjour,

    je veux hériter mon layout mais il m'affiche un erreur

    layput.html.twig
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    <html>
        <head>
            <script src="{{ asset('http://code.jquery.com/jquery-latest.min.js') }}" type="text/javascript"></script>
     {% block stylesheets %}
    <link rel="stylesheet" href="{{ asset('bundles/myappavv/css/jquery-ui-1.8.20.custom.css') }}" type="text/css" media="all" />
    {% endblock %}
    {% block js %}
            <script type="text/javascript" src="{{ asset('bundles/myappavv/js/jquery-1.7.2.min.js')}}"></script>
    		<script type="text/javascript" src="{{ asset('bundles/myappavv/js/jquery-ui-1.8.20.custom.min.js')}}"></script>
            <script type="text/javascript">
    			$(function(){
     
    				// Accordion
    				$("#accordion").accordion({ header: "h3" });
     
    				// Tabs
    				$('#tabs').tabs(
    						);
    			//hover states on the static widgets				
    			});
    		</script>
     
    {% endblock %} 
        </head>
        <body>               
                <div id="tabs">
                  <ul>
                      <li><a href="{{ path('MyAppAvvBundle_list') }}">Accueil</a></li>
                      <li><a href="{{ path('MyAppAvvBundle_ajout') }}">Nouveau job</a></li>
                  </ul>
                <div id="MyAppAvvBundle_list"></div>
    			<div id="tabs-2">Phas.</div>      
                </div>
     
                {% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
                  {# L'utilisateur est connecté ! #}
                  <a href="{{ path('fos_user_security_logout') }}">Déconnexion</a>
     
                  {# L'utilisateur est-il admin ? #}
                  {% if is_granted('ROLE_ADMIN') %}
                      {# L'utilisateur est admin ! #}
                      {#<a href="{{ path('admin') }}">Administration</a>#}
                  {% endif %}
                  {% else %}
                      {# L'utilisateur n'est pas connecté ! #}
                      <a href="{{ path('fos_user_security_login') }}">Connexion</a>
                      <a href="{{ path('fos_user_registration_register') }}">Inscription</a>
                {% endif %}           
     
                <div id="content">
                    <h1>{{ block('title') }}</h1>
                    {% block content %}
                    {% endblock %}
                </div>
                <div id="footer">
                    <p>Tous droits réservés © 2012</p>
                </div>
            </div>
        </body>
    </html>
    page.html.twig
    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
    {% extends 'MyAppAvvBundle::layout.html.twig' %} 
    <table>
    <tr>
    <td bgcolor="#87CEFA">Client</td>
    <td bgcolor="#87CEFA">Projet</td>
    <td bgcolor="#87CEFA">Commercial</td>
    <td bgcolor="#87CEFA">Budget</td>
    <td bgcolor="#87CEFA">Technologies</td>
    <td bgcolor="#87CEFA">Date reponse</td>
    <td bgcolor="#87CEFA">Statut</td>
    <td></td>
    </tr>
    {% for a in Avv %}
        <tr>
    	<td>{{ a.client }}</td>
    	<td><a href="{{ path('MyAppAvvBundle_organisation',{'id':a.id}) }}">{{ a.projet }}</a></td>
    	<td>{{ a.commercial }}</td>
    	<td>{{ a.budget }}</td>
    	<td>{{ a.technologies }}</td>
    	<td>{{ a.dateReponse | date("Y-m-d") }}</td>
    	<td>{{ a.statut }}</td>
    	<td><a href="{{ path('MyAppAvvBundle_modifier',{'id': a.id }) }}">Modifier</a></td>
    	</tr>
     
     
    {% endfor %}
     
    </table>
    erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    A template that extends another one cannot have a body in MyAppAvvBundle:Default:list.html.twig at line 1.
    Merci d'avance

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

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

    l'erreur est plutot explicite. si ton template hérite d'un autre tu ne peux mettre de code que dans des blocs précedemment défini par le parent.

    si tu n'avais pas cette exception ou serait imprimé ton tableau ? aprés la balise </html>?

    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
    31
    32
     
    {% extends 'MyAppAvvBundle::layout.html.twig' %} 
     
    {%block content%}
    <table>
    <tr>
    <td bgcolor="#87CEFA">Client</td>
    <td bgcolor="#87CEFA">Projet</td>
    <td bgcolor="#87CEFA">Commercial</td>
    <td bgcolor="#87CEFA">Budget</td>
    <td bgcolor="#87CEFA">Technologies</td>
    <td bgcolor="#87CEFA">Date reponse</td>
    <td bgcolor="#87CEFA">Statut</td>
    <td></td>
    </tr>
    {% for a in Avv %}
        <tr>
    	<td>{{ a.client }}</td>
    	<td><a href="{{ path('MyAppAvvBundle_organisation',{'id':a.id}) }}">{{ a.projet }}</a></td>
    	<td>{{ a.commercial }}</td>
    	<td>{{ a.budget }}</td>
    	<td>{{ a.technologies }}</td>
    	<td>{{ a.dateReponse | date("Y-m-d") }}</td>
    	<td>{{ a.statut }}</td>
    	<td><a href="{{ path('MyAppAvvBundle_modifier',{'id': a.id }) }}">Modifier</a></td>
    	</tr>
     
     
    {% endfor %}
     
    </table>
    {%endblock content%}

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 55
    Points : 30
    Points
    30
    Par défaut
    Merci bc ca marche mais il duplique l'affichage du contenu de layout. je vois pas le probléme.

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 79
    Points : 82
    Points
    82
    Par défaut
    Citation Envoyé par arnooo999 Voir le message


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    {% extends "MyAppAvvBundle::layout.html.twig" %} 
     
    {%block content%}
     
    {%endblock%}
    A mon avis ça doit être comme celà

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 55
    Points : 30
    Points
    30
    Par défaut
    merci pour ta reponse mais mnt il m'affiche que le contenu de layout et moi je veux aussi le contenu de ma page je crois que je dois desactiver layout apres la premiere execution mais je ne sais pas comment.

    Merci de m'aider

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2012
    Messages : 55
    Points : 30
    Points
    30
    Par défaut
    est ce que vous savez comment je désactive mon layout apres la premiere execution.

    Merci

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 79
    Points : 82
    Points
    82
    Par défaut
    Citation Envoyé par Mme Idel Voir le message
    est ce que vous savez comment je désactive mon layout apres la premiere execution.

    Merci
    Je ne comprends pas ce que tu veux faire ! Peux tu bien expliquer ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 85
    Points : 48
    Points
    48
    Par défaut
    Je début aussi avec symfony mais si tu veux conserver ce qui était présent dans le block que tu étends, tu dois utilser {{ parent () }}


    {% extends "MyAppAvvBundle::layout.html.twig" %}

    {%block content%}

    {{ parent () }}

    le reste que tu veux ajouter

    {%endblock%}

    C'est cela que tu veux faire non ?

    Sinon ce que voulais dire yakuzabj c'est :

    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
    31
    32
    {% extends 'MyAppAvvBundle::layout.html.twig' %} 
     
    {%block content%}
    <table>
    <tr>
    <td bgcolor="#87CEFA">Client</td>
    <td bgcolor="#87CEFA">Projet</td>
    <td bgcolor="#87CEFA">Commercial</td>
    <td bgcolor="#87CEFA">Budget</td>
    <td bgcolor="#87CEFA">Technologies</td>
    <td bgcolor="#87CEFA">Date reponse</td>
    <td bgcolor="#87CEFA">Statut</td>
    <td></td>
    </tr>
    {% for a in Avv %}
        <tr>
    	<td>{{ a.client }}</td>
    	<td><a href="{{ path('MyAppAvvBundle_organisation',{'id':a.id}) }}">{{ a.projet }}</a></td>
    	<td>{{ a.commercial }}</td>
    	<td>{{ a.budget }}</td>
    	<td>{{ a.technologies }}</td>
    	<td>{{ a.dateReponse | date("Y-m-d") }}</td>
    	<td>{{ a.statut }}</td>
    	<td><a href="{{ path('MyAppAvvBundle_modifier',{'id': a.id }) }}">Modifier</a></td>
    	</tr>
     
     
    {% endfor %}
     
    </table>
    {%endblock%}

    et non pas : {%endblock content%}

    Espérant que ce soit ça !

Discussions similaires

  1. [Rails 4] layouts (triple héritage ?)
    Par slack457 dans le forum Ruby
    Réponses: 1
    Dernier message: 15/10/2013, 11h50
  2. [Postgresql]Héritage
    Par lheureuxaurelie dans le forum PostgreSQL
    Réponses: 13
    Dernier message: 02/10/2008, 09h18
  3. [XML Schemas]héritage multiple
    Par nicolas_jf dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 10/06/2003, 12h55
  4. [Postgres] Héritage + Clés
    Par k-reen dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 21/05/2003, 16h37
  5. Héritage entre Forms
    Par BarBal dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 17h44

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