Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 08-07-2009 23:33:38

neojick
Membre
Date d'inscription: 13-04-2008
Messages: 223
Site web

Plusieurs modules, layout par défaut

Bonjour les amis, après plusieurs mois de développement sur un vieux site utilisant un sale Framework, me revoilà dans le monde de ZF pour un projet où j'ai une petite question.

Je veux créer une arborescence modulaire, où certains modules pourraient être ajoutés aisément. Mais ces modules auraient à utiliser le layout du module 'Default'.

Suivant ce type d'arborescence :

Code:

-data/
  -- admin/
  -- default/
     ---controllers/
        ----IndexController.php
     ---views/
        ----scripts/
             -----_layouts/
                   ------layout.phtml
             -----index/
                   ------index.phtml
  --module1/
     ---controllers/
        ----IndexController.php
     ---views/
        ----scripts/
             -----index/
                   ------index.phtml
  --module2/
  --module3/
...
-html/
  --index.php

module2, module3 ... suivent la même structure que module1. J'aimerai que ces modules aient leurs propres vues, mais utilisent le layout de 'default'.

Une idée ?

Dernière modification par neojick (08-07-2009 23:34:25)


Chan IRC de ZF en français : zftalk-fr

Hors ligne

 

#2 09-07-2009 07:50:07

pastel
Membre
Date d'inscription: 24-06-2009
Messages: 12

Re: Plusieurs modules, layout par défaut

Dans ton Bootstrap.php

Code:

protected function _initView()
{
        Zend_Layout::startMvc(array(
               'layoutPath' => APPLICATION_PATH . 'default/views/scripts/_layouts',
               'layout' => 'layout'
        ));
}

Hors ligne

 

#3 09-07-2009 08:06:33

neojick
Membre
Date d'inscription: 13-04-2008
Messages: 223
Site web

Re: Plusieurs modules, layout par défaut

Merci mais, pour le modules 'admin', là j'aimerai que ce soit le layout propre à l'admin qui soit utilisé. Désolé j'avais oublié de le préciser.


Chan IRC de ZF en français : zftalk-fr

Hors ligne

 

#4 09-07-2009 08:45:25

neojick
Membre
Date d'inscription: 13-04-2008
Messages: 223
Site web

Re: Plusieurs modules, layout par défaut

Bon en fait, après un bon café... suffit d'initialiser les controlleurs de mes module1, module2 ... avec ceci pour récupérer l'instance du MVC et modifier le LayoutPath :

Code:

$mvc = Zend_Layout::getMvcInstance();
$mvc->setLayoutPath(APP_PATH . '/modules/default/views/scripts/');

Merci pour la piste.


Chan IRC de ZF en français : zftalk-fr

Hors ligne

 

#5 09-07-2009 08:50:48

neojick
Membre
Date d'inscription: 13-04-2008
Messages: 223
Site web

Re: Plusieurs modules, layout par défaut

Super, avec un petit

Code:

$frontController->addModuleDirectory(APP_PATH . '/modules/');

dans le bootstrap au lieu de :

Code:

$frontController->setControllerDirectory(array(
    'default'  => APP_PATH . '/modules/default/controllers',
    'admin'    => APP_PATH . '/modules/admin/controllers',
    'module1'    => APP_PATH . '/modules/module1/controllers',
   'module2'    => APP_PATH . '/modules/module2/controllers'
));

tout se fait automatiquement, suffit d'ajouter le dossier, et tout roule !

Que j'aime ZF !

Dernière modification par neojick (09-07-2009 08:51:04)


Chan IRC de ZF en français : zftalk-fr

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