Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-05-2009 12:21:23

Umbre
Nouveau membre
Date d'inscription: 26-05-2009
Messages: 1

[Zend_Layout][1.8] Problème avec render script

Bonjour,

Je viens de me mettre au zf pour le développement d'un projet et j'avoue avoir quelques difficultés à aborder la bete !

Voici mon problème:

Je souhaite générer un sous menu à partir de la fonction init de mon controlleur. Lorsque j'appel la méthode renderScript pour passer mon menu au layout la ligne "echo $this->layout()->content;" dans mon fichier de layout ne marche plus et mon fichier phtml ne s'affiche pas !

Voici mon code :

Controlleur :

Code:

class CategorieController extends Zend_Controller_Action 
{
    
    public function init()
    {
        //récupération des variables utiles
        $controller = $this->getRequest()->getParam('controller');
        $defaultAction = $this->getFrontController()->getDefaultAction();
        
        //création du sous menu d'édition
        $this->view->submenu = array(
            $this->view->link($controller, $defaultAction) => 'Categorie',
            $this->view->link($controller, 'edit') => 'Ajouter',
            $this->view->link($controller, 'export')=> 'Exporter'
        
        );
        
         $this->renderScript('block/submenu.phtml', 'submenu');
         $this->renderScript('block/footer.phtml', 'footer');
         $this->renderScript('block/header.phtml', 'header'); 
    }
    /**
     * The default action - show the home page
     */
    public function indexAction() 
    {
        $this->view->title = "Page d'index";
        //echo 'test';
        
    }
    
    /**
     * Action d'edition
     */
    public function editAction()
    {
        
        $this->view->title = "Page d'index";
    }
     
}

Le layout

Code:

<html>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <?php 
        echo $this->headTitle();
        echo $this->headScript();
        echo $this->headLink();
        ?>
    </head>
    
    <body>
        
        <?php echo $this->layout()->header;?>
        <?php echo $this->layout()->submenu; ?>
        
        
        <?php echo $this->layout()->content; ?>
        
        <?php echo $this->layout()->footer; ?>
        
        <br />
        <br />
    </body>

</html>

Le fichier index de mon action

Code:

<?php

/**
 * Default home page view
 *  
 * @author
 * @version
 */

$this->headTitle('Administration - Gestion des catégories');
$this->placeholder('title')->set('Administration - Catégorie');
?>

Hello, world!
catégorie
dfsdpfkspf
f
se

ffe
e

Mon sous menu

Code:

<?php if (isset($this->submenu)) :?>
<div class="submenu">
   <ul>
       <?php foreach($this->submenu as $link=>$label) :?>
        <li><a href="<?php echo $link ?>"><?php echo $label ?></a></li>
    <?php endforeach; ?>
    </ul>
</div>
<?php endif; ?>

C'est donc le fichier index qui n'est pas affiché a partir du moment ou la ligne  $this->renderScript('block/submenu.phtml', 'submenu'); est présente dans mon init()

Quelqu'un aurait une idée d'ou ca peut venir?

Hors ligne

 

#2 03-06-2009 14:08:05

bbword
Nouveau membre
Date d'inscription: 03-06-2009
Messages: 1

Re: [Zend_Layout][1.8] Problème avec render script

As-tu trouvé une réponse à cette super question car je cherche encore pourquoi le content disparaît dès qu'on utilise renderScript() mais je n'ai pas encore trouvé de solution. Il est vrai que la bête n'est pas si simple à dompter

merci

Hors ligne

 

#3 10-11-2009 17:09:28

loriv
Membre
Date d'inscription: 10-11-2009
Messages: 22

Re: [Zend_Layout][1.8] Problème avec render script

Salut, peut etre avez vous eu la solution depuis, je suis newbie en ZF mais plein de bonnes volontés.

Je crois qu'il faut rajouter dans votre indexAction de CategorieController l'instruction suivante :

$this->render();

A+


-----------------------------------------------------------------------------------------------------------

ZF 1.9.6 + WXP + Xampp 1.7.2 (Php5.3.0  Apache2.2.12 PhpMyadmin3.2.0.1)

Hors ligne

 

#4 20-10-2010 16:57:25

Merlok
Nouveau membre
Date d'inscription: 19-10-2010
Messages: 2

Re: [Zend_Layout][1.8] Problème avec render script

Bonjour à tous !

J'ai eu le même problème notamment :
$this->layout->content (présent dans mon layout) qui ne s'affichai plus plus à cause de $this->renderScript('common/submenu.phtml', 'submenu'); (présent dans la fonction init() de mon controlleur)

Et éffectivement la solution de "loriv" marche parfaitement, il faut donc bien ajouter $this->render après l'appel de $this->renderScript();
Personnellement je l'est mis dans la fonction init() de mon contrôleur.

J'ai trouvé utile de le préciser dans ce post qui devrai je pense être marquer comme [résolu].

++

Hors ligne

 

#5 20-10-2010 19:01:21

3uclide
Membre
Date d'inscription: 09-08-2008
Messages: 194

Re: [Zend_Layout][1.8] Problème avec render script

et si vous tentez d'utiliser renderPartial ?

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