Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 13-09-2010 16:22:37

MisterV
Nouveau membre
Date d'inscription: 13-09-2010
Messages: 2

[ZF 1.10] Affichage IndexController au lieu du Layout

Bonjour,

je cherche à mettre en place un layout et pour ce faire j'ai suivi le "learning quickstart" de ZF => create à Layout : http://framework.zend.com/manual/fr/lea … ayout.html

Problème : le layout n'est pas affiché. Seul s'affiche l'IndexController par défaut.

Pourtant j'ai bien créé le layout avec "zf enable layout".
Le dossier "layout"a bien été créé avec son sous rép. "scripts" contenant le fichier "layout.phtml".


Le fichier de config "application.ini" contient les lignes suivantes :

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


Le Boostrap quant à lui contient bien la méthode suivante:

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


Et pour finir, mon fichier "layout.phtml" est comme suit :

<?php $this->doctype(); ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>

<div id="container">
    <div id="content" class="column">
        <div id="pad">
            <?php echo $this->layout()->content; ?>
        </div>
    </div>
</div>
</body>
</html>

J'ai suivi parfaitement le "learning quickstart" mais lorsque je teste dans le navigateur j'obtiens l'affichage du module Index par défaut et non pas le layout.

Ce qui est confirmé par le code source qui ne contient pas entre autre le "doctype" qui devrait apparaître.

Bien entendu avant de poster j'ai recherché sur le forum mais je n'y ai pas trouvé de solution qui fonctionne.

Merci pour votre aide.

Hors ligne

 

#2 13-09-2010 20:39:38

Manax
Nouveau membre
Date d'inscription: 24-08-2010
Messages: 4

Re: [ZF 1.10] Affichage IndexController au lieu du Layout

Code:

resources.layout.layout = "layout"
resources.layout.layoutpath = APPLICATION_PATH "/layouts/scripts"

Dans l'application.ini il faut rajouter aussi le nom du layout par default, tu a le layoutpath mais pas le nom du fichier. ( en espérant que ce soit ça smile )

Hors ligne

 

#3 15-09-2010 21:26:37

MisterV
Nouveau membre
Date d'inscription: 13-09-2010
Messages: 2

Re: [ZF 1.10] Affichage IndexController au lieu du Layout

Merci pour votre réponse mais ajouter la ligne "resources.layout.layout = "layout" n'a pas résolu le problème.

J'ai donc testé une autre solution à savoir :


- dans le Boostrap

Code:

$frontController->registerPlugin(new Places_Controller_Plugin_ViewSetup());
Zend_Layout::startMvc(array('layoutPath' => 'Path/To/Layout''));

- dans le plug-in ViewSetup

Code:

public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) 
    {
        $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
        $viewRenderer->init();
        
        /* @var $view Zend_View */
        $view = $viewRenderer->view;
        $this->_view = $view;
        $view->originalModule         = $request->getModuleName();
        $view->originalController     = $request->getControllerName();
        $view->originalAction         = $request->getActionName();
        $view->doctype('XHTML1_STRICT');
        $view->headMeta()->setName('Content-Type','text/html;charset=utf-8');
        $view->headLink()->appendStylesheet($view->baseUrl().'/css/site.css');        
    }

Et cela fonctionne correctement.

Cependant je ne sais toujours pas pourquoi l'autre configuration ne marche pas.
Je dois certainement omettre quelque chose, mais quoi ?

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