Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai avancé dans l'utilisation du Layout sans toute fois l'exploiter réellement. J'ai choisi de créer un répertoire : '_templates/' dans lequel seront rangés mes fichiers de templates. Concrètement je souhaiterai avoir :
/_templates/template.phtml /_templates/header.phtml /_templates/footer.phtml
Le fichier template.phtml fait appel aux autres script .phtml (header...) par "<php echo $this->layout()->header?>"
Avant tout, mon application est composé de plusieurs controlleurs disposé dans plusieurs modules (chacun des modules contient un répertoire /scripts). Voilà pourquoi je souhaite mettre les vues communes à tous les controlleurs dans un répertoire bien spécifique, ici _templates/
1. Cependant, je n'ai pas réussi à associer le fichier header.phtml à la fonction ->layout()->header. Je peux le faire par $this->render('header.phtml') mais ça ne me contiens pas. Que dois-je faire pour associer ->header à header.phtml se trouvant dans le répertoire /_templates/header.phtml ????
2. Je souhaiterai utiliser des variables et objets de l'application entière (nom de l'utilisateur, etc.) dans le fichier header.phtml. Comment faire ? Actuellement, si je fais "$this->render('header.phtml');" $this-> fais référence au controlleur courant (si je suis dans la gestion des clients par ClientAction, alors $this-> fera référence à l'action en cours). Je voudrai un fichier php indépendant à un module ou controlleur en particulier (j'aurai une 10zaine de module, je ne me vois pas écrire pour chacun d'eux $this->view->username = 'dqf';
3. Je reprends un peu la question 2, pour être plus claire : comment associer un fichier unique (utilisé par tous les controlleurs, vues, etc.) header.phtml sera associé à header.php
Merci de vos réponses.
PS: en tout cas, cette notion de layout est vraiment intéressante, j'ai déjà travaillé avec joomla et je trouve que la notion de template Zend::Layout est assez proche que celle des templates joomla.
Hors ligne