Bonjour,
Tout d'abord je tiens à préciser que je suis débutant dans le développement web, et du coup, encore plus sur Symfony2
Je suis en train de me faire un portfolio qui contient plusieurs sections les unes en dessous des autres (à propos, compétences, expériences professionnelles, etc.), ainsi qu'une barre de navigation contenant les liens (anchor) vers ces sections.
Pour l'instant j'en suis la:
index.html.twig:
section.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 {% extends "::base.html.twig" %} {% block title %} PortFolio {% endblock %} {% block nav %} {% if sections is defined %} <ul class="nav masthead-nav"> {% for section in sections %} <li> <a href="#section_anchor">section_menuitem</a> <!-- C est ici que je bloque! --> </li> {% endfor %} </ul> {% endif %} {% endblock %} {% block body %} {% if sections is defined %} {% for section in sections %} {% include section %} {% endfor %} {% else %} <h4>Aucun contenu pour le moment.</h4> {% endif %} {% endblock %}
apropos.html.twig:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <a name="{% block section_anchor %}{% endblock %}"> <h2>{% block section_title %}{% endblock %}</h2> </a> {% block section_content %}{% endblock %}
competences.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 {% extends "WebSitePortFolioBundle:Default:section.html.twig" %} {% block section_menuitem %} A Propos {% endblock %} {% block section_anchor %} a_propos {% endblock %} {% block section_title %} A Propos de Moi {% endblock %} {% block section_content %} Du contenu.. {% endblock %}
et l'action de mon controller pour rendre la page:
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 {% extends "WebSitePortFolioBundle:Default:section.html.twig" %} {% block section_menuitem %} Compétences {% endblock %} {% block section_anchor %} competences {% endblock %} {% block section_title %} Mes Compétences {% endblock %} {% block section_content %} Du contenu.. {% endblock %}
Comme vous pouvez le voir, j'envoie en paramètre, depuis mon controller vers mon template index.html.twig, une liste de template à include. Dans chacun de ces templates, j'ai des blocks récurrents dont j'aimerais récupérer le contenu (section_menuitem, section_anchor) afin de m'en servir pour générer ma barre de navigation (toujours dans mon template index.html.twig). Mais je ne sais pas comment faire!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public function indexAction() { return $this->render('WebSitePortFolioBundle:Default:index.html.twig', array( "sections" => array( "WebSitePortFolioBundle:Sections:apropos.html.twig", "WebSitePortFolioBundle:Sections:competences.html.twig" )) ); }
Merci de votre aide.
PS: J'aurais pu être plus concis dans la description de mon problème mais j'aimerais avoir, si possible, des retours sur la manière dont je m'y suis pris..
Partager