Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je commence dans le MVC et j'ai déjà suivi pas mal de tutos et j'aurais quelques petites questions:
les layout, ce sont des parties de la page qui ont toujour la même structure comme le header et le footer,
Mais quelle est la meilleure optimisation pour l'endroit réservé au contenu ?
1/-Faire un layout pour chaque page, par ex. : ContenuIndex.php (auquel cas je ne voix pas trop l'utilité d'utiliser les layouts)
En fait qu'elle est la bonne utilisation des layouts, en quoi est-ce avantageux ?
Merci
Hors ligne
Tu n'as pas compris ce qu'est un layout.
Un layout, c'est une sorte de support/base/patron à une ou plusieurs vues/actions.
Le but du layout, c'est que justement il y en est très peu (1 voir 2 plus souvent)
Dans un site web, tu es d'accord que la diposition en change presque jamais ?
Le layout sert a placé ce que tu ne modifie jamais sur ton site et que les briques soient toujours dans les mêmes positions.
Un exemple de layout :
<?= $this->doctype() ?> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" > <head> <?php echo $this->HeadMeta(); ?> <?php echo $this->headTitle() ?> <?php echo $this->headLink() ?> <?php echo $this->headScript() ?> <?php echo $this->headStyle() ?> </head> <body> <?php echo $this->partial('header.phtml') ?> <div id="content"> <?= $this->layout()->sidebar ?> <div id="main"> <?= $this->layout()->content; ?> </div> </div> <?php echo $this->partial('footer.phtml') ?> </body>
Ce layout ne change jamais. Tes actions s'occupe ainsi de généré la vue qui leur corresponde vraiment.
Je sais pas si j'ai été clair, pt etre que qqun est plus pédagogue que moi
Hors ligne
Pour comprendre ce qu'est le layout, tu dois imaginer ton site comme s'il était vide de tout contenu.
Un layout est la construction schématique de ton site. Comme quand tu dessines des rectangles sur une feuille papier pour déterminer l'emplacement de chaque chose (mais vides).
Ensuite dans ce layout tu places les éléments au bon endroit (header, footer, menu, contenu de la page) etc.
A utiliser effectivement si tu conçois un site qui ne changera pas de construction de page en page.
Tu peux utiliser plusieurs layouts différents avec Zend.
Par exemple, parfois j'utilise un layout différent du reste de l'appli pour l'authentification quand elle est appelée de l'extérieur en Ajax ou autre.
"La bonne utilisation" est difficile à définir. Parfois tu auras besoin de mettre des layouts dans des layouts, même si de mon côté j'évite de faire ça.
L'idéal c'est de concevoir le graph/ergonomie de ton appli de manière intelligente.
Après tu n'es pas forcé d'utiliser les layouts
A+
Benjamin.
Hors ligne
Merci pour ces infos.
J'ai bien réussi à créer ce que je voulais sur un modèle ressemblant à celui de nORKy.
Cepandant quelques questions s'imposent ^^
-Meilleur solution pour faire varier le contenu d'un layout :
1/-créer un layout dans un layout(et faire oui ou non l'appel de ce layout avec le controller)
2/-faire des conditions d'affichage sur le layout directement
Merci à vous Zendiens
Hors ligne
T'as oublié d'autres solutions :
- Un plugins qui change le layout
Hors ligne
nORKy a écrit:
T'as oublié d'autres solutions :
- Un plugins qui change le layout
Je ne vois pas ce que tu veux dire par cela.
Tu veux dire que tu appelle un layout différent en fontion de la page ? ou alors je n'ais pas bien saisie.
Je vais me renseigner sur le champs sur les plugins ^^
Hors ligne