|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : février 2008 Messages : 207 ![]() |
Bonjour,
je me retrouve confronté à un problème de layout! Pour ma page principale, pas de souci, j'ai mon layout et la partie dynamique est la seule à bouger. Mais, dans un module, je dois avoir une sidebar qui n'apparaitra pas dans les autres modules. Du coup, j'aimerais créer un nouveau layout qui s'intègre au premier, de façon à ce que la seule chose qui change soit une partie de la page, mais pas la sidebar. Est-il possible de faire ça? Merci par avance, Johnny |
|
|
00
|
|
|
#2 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Dans la version 1 tu ne peux pas intégrer un "sous layout" dans ton layout. (D'où on peut déduire qu'il est envisageable de passer en version 2 qui l'autorise, mais c'est une autre histoire).
Tu as plusieurs solutions :
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#3 | ||
|
Membre actif
![]() Fabrice AgnelloDéveloppeur informatique Inscription : octobre 2010 Messages : 76 ![]() |
Bonjour,
il est tout à fait possible de réaliser ça dans la version 1 moyennant l'utilisation d'une classe supplémentaire (que nous avons développé en interne). Nous l'utilisons dans le cadre de nos projets en interne et cela permet d'avoir un layout général (commun à l'ensemble d'un projet) ainsi qu'un layout pour chaque application (frontend, backend, etc.). le code de la classe en question est le suivant : Code :
Ensuite, pour l'utiliser, il faut ajouter dans le fichier module.yml commun : enfin, pour définir au niveau d'une application qu'elle va utiliser un sous-layout, il faut définir dans le app.yml de l'application : où le second layout est le nom du fichier de layout utilisé. Cordialement. |
||
|
|
10
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Très ingénieux et intéressant.
Par contre, ici il s'agit de modifier un module de l'application, pas toutes le layout d'une application par rapport à l'autre. Est-ce réalisable à ce niveau de granularité ? Ceci pourrait parfaitement faire un plugins dans ce cas et être avantageusement partagé sur le site des plugins
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#5 | ||
|
Membre actif
![]() Fabrice AgnelloDéveloppeur informatique Inscription : octobre 2010 Messages : 76 ![]() |
Dans l'absolu, rien ne l'empêche.
Nous n'avons pas l'utilité d'un tel niveau de granularité sur nos projets, et c'est pourquoi je me suis arrêté à l'application. Maintenant, dans le app.yml, on peut éventuellement ajouter : Code :
Il ne reste plus qu'à implémenter la décoration dans la méthode decorate et on aura alors le niveau de profondeur voulu. Cela implique aussi d'ajouter - dans le cas où on spécifie un layout pour un module dans le fichier app.yml - un répertoire layout dans le module avec le fichier de layout qui va bien. Concernant le fait de le transformer en plugin, pourquoi pas... Il faudrait packager mais je n'en ai vraiment pas le temps actuellement. à+ |
||
|
|
10
|
|
|
#6 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Je sors la discussion de la salle débutant, elle dépasse largement ce cadre et peut intéresser de nombreuses personnes.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : février 2008 Messages : 207 ![]() |
Ouf, merci pour ces réponses. Comme je suis encore débutant dans cette histoire de layout avec symfony, je pense que je vais choisir l'option 2 ou 3 de Michel.
symfony 1.4 est impressionnant mais demande un temps d'apprentissage conséquent pour correctement l'utiliser. Comme la discussion semble intéresser du monde, est-ce que je mets résolu malgré tout? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com