Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je travaille actuellement sous ZF2 et je rencontre pas mal de problèmes que je comprends et corrige au fur et à mesure de ma connaissance de ZF2. Je dois avouer que les documentations claires et non-contradictoires ne sont pas légion...
J'aimerai aujourd'hui comprendre comment sélectionner un "layout" spécifique au contexte de l'application. Je m'explique j'ai actuellement un premier "layout" qui gère mes vues dans un contexte non-connecté. Tout cela fonctionne bien. Une fois connecté j'aimerai dirigé le contrôleur MVC vers un deuxième "layout" et la je n'y arrive pas, du moins un seul partie est affiché.
1. Dans le contrôleur nécessitant l'utilisation du "layout" en connecté j'ai :
class HomeLoggedController extends AbstractActionController { public function indexAction() { echo 'Start___HomeLoggedController->indexAction'; $viewModel = new ViewModel(); $viewModel->setTemplate('layout/logged'); $viewModel->terminate(true); return $viewModel; } }
'layout/logged' est mon alias du fichier principal de configuration module.config.php :
'view_manager' => array( 'display_not_found_reason' => true, 'display_exceptions' => true, 'doctype' => 'HTML5', 'not_found_template' => 'error/404', 'exception_template' => 'error/index', 'template_map' => array( 'layout/layout' => __DIR__ . '/../view/layout/unlogged/layout.phtml', 'layout/logged' => __DIR__ . '/../view/layout/logged/layout.phtml', 'header/unlogged' => __DIR__ . '/../view/layout/unlogged/header.phtml', 'footer/unlogged' => __DIR__ . '/../view/layout/unlogged/footer.phtml', 'header/logged' => __DIR__ . '/../view/layout/logged/header.phtml', 'footer/logged' => __DIR__ . '/../view/layout/logged/footer.phtml', 'application/index/index' => __DIR__ . '/../view/application/index/index.phtml', 'application/logged/index' => __DIR__ . '/../view/application/logged/index.phtml', 'error/404' => __DIR__ . '/../view/error/404.phtml', 'error/index' => __DIR__ . '/../view/error/index.phtml', ), 'template_path_stack' => array( __DIR__ . '/../view', ), ),
C'est bien mon fichier /../view/layout/logged/layout.phtml qui est affiché mais le code echo $this->layout('layout/logged')->content de ce dernier retourne quelquechose de vide...
D'ailleurs je n'ai toujours pas compris comment dans le layout.phtml la méthode $this->layout()->content sait quelle vue afficher, par défaut celle de view\application\index\index.phtml et dans le cas de mon contexte connecté celle de view\application\logged\index.phtml.
J'ai croisé pas mal d'article expliquant comment créer plusieurs modules et leur affecter chacun un "layout" spécifique, mais dans mon cas je ne désire pas que mes contextes connecté et non connecté représente deux modules différentes juste pour pouvoir leur affecter un "layout" différent.
Merci par avance à ceux qui pourront m'éclairer sur ce sujet.
Hors ligne
cid007300 a écrit:
Bonjour,
Je travaille actuellement sous ZF2 et je rencontre pas mal de problèmes que je comprends et corrige au fur et à mesure de ma connaissance de ZF2. Je dois avouer que les documentations claires et non-contradictoires ne sont pas légion...
Salut, d'une part c'est normal si tu cherches tes infos dans les catégories liées au ZF1 (Pourtant c'est écrit en rouge les sections ZF2 ...) et d'autre part la documentation officielle apporte beaucoup de réponses.
Enfin cette question a déjà été posée dans la bonne section.
Hors ligne
Pages: 1