Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Dans un layout comme celui ci :
<?= $this->doctype('XHTML1_STRICT') ?> <html> <head> <?= $this->headTitle() ?> <?= $this->headScript() ?> <?= $this->headStylesheet() ?> </head> <body> <div id="global"> <div id="header"> <?= $this->partial('header.phtml') ?> </div> <div id="maincontent"> <div id="left"> <?= $this->layout()->left ?> </div> <div id="content"> <?= $this->layout()->content ?> </div> <div id="right"> <?= $this->layout()->right ?> </div> </div> <div id="footer"> <?= $this->partial('footer.phtml') ?> </div> </div> </body> </html>
où va t-il chercher le fichier pour $this->layout()->right ? sans rien n'avoir configuré.
Hors ligne
Salut
Il ne va chercher aucun fichier.
Par défaut, tes actions sont rendu dans le segment "content"
mais si tu fais dans une action "$this->render('archive', 'right') l'action 'archive' sera rendu dans le segment 'right'
ou bien tu fais un pti "$this->_helper->layout->setContentKey('right');" pour demander que tout soit rendu dans le segment 'right' au lieu de 'content'
Dernière modification par or4cle (05-06-2008 15:02:23)
Hors ligne
okkkayyyy, tres bien merci, je comprend mieu la nuance.
et autre question pour definir les script et HeadStyle qui seront présent tout le temps, il faut mettre ça ou ?
Hors ligne
Pour ajouter un feuille de style de manière "statique" tu peux mettre ca dans un controller (méthode init()) que tes autres controllers étendent que lieu d'étendre du controller Zend_Controller_Action. La méthode init est appellé automatiquement (sorte de "hook")
Tu peux faire:
//Les css linké ne sont pas des "styles" donc on utilise pas headStyle() $this->view->headLink()->appendStylesheet($subItem);
Sinon tu dois pouvroi mettre ca dans le bootstrap en créant la vue à'l' mano (et en l'envoyant au viewRenderer via le helperBroker), ou encore dans un plugin du frontController.
Je ne n'ose pas vraiment mavancé sur quel méthode est la mieux,... puis on s'en fou le résultat est le même non?
Hors ligne
soit j'ai crée un initController, histoire de définir les base de mes pages web, mais pour il inclut pas tres terriblement les fichiers, comment pourrait on lui dire de rajouté le BaseUrl ?
car si je fais ça :
$this->view->headScript()->appendFile('scripts/jquery.plugin.js');
il me renvoi
<script type="text/javascript" src="scripts/jquery.plugin.js"></script>
pas terrible donc . . .
Dernière modification par fblutch (09-06-2008 17:22:47)
Hors ligne
Pour récupérer le baseUrl, tu peux passer par :
Zend_Controller_Front::getBaseUrl()
Y a peut-être une méthode plus appropriée, en tout cas celle-ci fonctionne
Hors ligne