Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 25-08-2009 08:01:58

poseiidon
Membre
Date d'inscription: 11-06-2009
Messages: 32

plusieurs layouts

Bonjour je cherche à utiliser un layouts différents par modules , j'ai regardé dans la doc Zend layout mais j'ai pas trés bien compris comment faire.

--application
    -Bootstrap.php
    -layouts
          scripts
               layout.html
               admin.phtml
    -modules
         -default
         -admin

mon Bootstrap.php principal

Code:

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    protected function _initDoctype()
    {
        $this->bootstrap('view');
        $view = $this->getResource('view');
        $view->doctype('XHTML1_STRICT');
    }
    
}

mon application.ini

Code:

;====== Resource frontController
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.view[] =

Hors ligne

 

#2 25-08-2009 08:44:53

GueloSuperStar
Membre
Lieu: Paris
Date d'inscription: 05-08-2009
Messages: 107

Re: plusieurs layouts

salut,

je pense qu'il faut que tu fasse un plugin (public fonction preDispatch) qui récupère le nom du module dans lequel tu te trouve, et faire appel au bon layout.

Dernière modification par GueloSuperStar (25-08-2009 08:45:52)


A+ Guelo Super Star

Hors ligne

 

#3 26-08-2009 03:21:54

poseiidon
Membre
Date d'inscription: 11-06-2009
Messages: 32

Re: plusieurs layouts

Ok j'ai regardé sur la doc nottament predispatch et récupérer le nom du module courant , mais le fichier du plug in je dois le créer ou ? dans quel dossier et comment je fais appel à ce fichier ? avez vous un petit exemple merci

Hors ligne

 

#4 26-08-2009 09:13:50

GueloSuperStar
Membre
Lieu: Paris
Date d'inscription: 05-08-2009
Messages: 107

Re: plusieurs layouts

salut,

Le plugin tu doit, si je ne me trompe pas, le mettre dans "Zend/(Monnamespace)/Plugin"

le namespace tu l'a normalement défini dans ton fichier application.ini
=> autoloaderNamespaces[] = "Monnamespace_"

Ensuite pour déclarer un plugin soit tu le met dans ton fichier application.ini :

resources.frontController.plugins[] = Monnamespace_Plugin_NomPlugin

ou soit dans le bootstrap :

$frontController = Zend_Controller_Front::getInstance();
$frontController->registerPlugin(new Monnamespace_Plugin_NomPlugin());


Pour ma part, je déclare les plugins dans application.ini quand je n'ai pas de paramètres à passer au plugin sinon dans le bootstrap


je sais pas si c'est la meilleur façon à faire donc si vous avez mieux que moi je suis preneur car toujours à la recherche d'un meilleur utilisation du ZF :-)


j'espère que ça va pouvoir t'aider sinon n'hésite pas à me demandé ;-)


A+ Guelo Super Star

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