Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-03-2013 10:50:42

cid007300
Nouveau membre
Date d'inscription: 07-02-2013
Messages: 5

ZF2 - Changer de LAYOUT en fonction du contexte

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 :

Code:

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 :

Code:

'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

 

#2 01-03-2013 10:55:51

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: ZF2 - Changer de LAYOUT en fonction du contexte

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages