Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 24-06-2009 15:50:26

Nikko
Membre
Lieu: Rueil (Haut-de-Seine)
Date d'inscription: 19-12-2008
Messages: 95

[Résolu][Zend_Layout]Mon layout ne s'affiche pas

Bonjour à tous,

J'ai un soucis avec mon layout. Dans mon appli, j'ai un sous-menu qui contient 5 onglets. Chacun de ces onglets, lorsque l'on clic dessus, affiche la page le concernant en dessous du sous-menu. Mais pour un seul de ces onglets, mon layout disparait et donc, seul ma page reste...

Est-ce que vous auriez une idée ?

Merci d'avance,

Dernière modification par Nikko (26-06-2009 11:32:38)


Nikko

Etudiant en école d'ingénieur à l'INSIA

Hors ligne

 

#2 24-06-2009 20:14:35

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

Re: [Résolu][Zend_Layout]Mon layout ne s'affiche pas

Tu peux nous donner le code de ton action ?

Hors ligne

 

#3 25-06-2009 08:58:42

Nikko
Membre
Lieu: Rueil (Haut-de-Seine)
Date d'inscription: 19-12-2008
Messages: 95

Re: [Résolu][Zend_Layout]Mon layout ne s'affiche pas

Merci pastel pour ta réponse, voici un bout de code de mon action :

Code:

//On ne n'affiche pas là vue, on la place dans la vue de VisualisationController.
        $this->getHelper('viewRenderer')->setNoRender();
        
        /** A vrai, les résultats sont calculés sur les saisies validées (c'est le mode par défaut). On peut
         toutefois passer un paramètre dans l'url qui va modifier ce comportement. Toutes les saisies sont
         alors prises en compte. Ce mode de fonctionnement est nécessaire justement pour la partie validation
         des saisies où l'on doit étudier les résultats avant de les valider. */
        $params = $this->_request->getParams();
        $brideSaisiesValidees = (isset($params['saisies'])) ? false : true;

        $view = Zend_Registry::get('view');
        $this->view->title = "Taux d'absentéisme";
        $this->view->submenu = 'visualisation-synthese-taux-presence';
        $this->view->menu = 'stats';
        ...
                if (isset($_POST['Impression']) && ($_POST['Impression'] == 'oui')) {
            $this->view->actionTemplateListe = 'visualisations/index-impression.phtml';
            print $this->view->render('site-impression.phtml');
        } else {
            $this->view->actionTemplateListe = 'visualisation-synthese-taux-presence/index.phtml';
            print $this->view->render('visualisations/index.phtml');
        }

Je n'ai pas mis le code en entier car mon action fait 200 lignes de code. Cependant, si vous y tenez, je mettrais l'intégralité de mon action.
Au début, je supprime le rendu de mon action dans le but de l'afficher sur une autre action (visualisation/index.phtml);

Voici le code de visualisation/index.phtml qui me permet d'afficher l'action précédente :

Code:

print '<p>' . $this->render($this->actionTemplateListe) . '</p>';

Merci encore de votre aide.

Cordialement,

Dernière modification par Nikko (25-06-2009 08:59:03)


Nikko

Etudiant en école d'ingénieur à l'INSIA

Hors ligne

 

#4 25-06-2009 12:19:13

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

Re: [Résolu][Zend_Layout]Mon layout ne s'affiche pas

J'ai un peu de mal à saisir ton code... Tu utilise un système de template alternatif?

A tous hazards au lieu de

Code:

$this->getHelper('viewRenderer')->setNoRender();
$this->view->render('visualisations/index.phtml');

Essaye de mettre :

Code:

$this->_helper->viewRenderer->setNoController(true);
$this->_helper->viewRenderer->setScriptAction('/visualisations/index/');

Hors ligne

 

#5 26-06-2009 08:55:08

Nikko
Membre
Lieu: Rueil (Haut-de-Seine)
Date d'inscription: 19-12-2008
Messages: 95

Re: [Résolu][Zend_Layout]Mon layout ne s'affiche pas

En quelque sorte oui. En fait, j'ai, dans un menu principal, un onglet statistique. Quand je clique dessus, un sous-menu apparaît. Chaque vue des "sous-onglet" est redirigé vers la vue d'un autre controller :

La vue de VisualisationTauxPresenceController est redirigée vers la vue de VisualisationController.
La vue de VisualisationHistogrammeDonneesController est redirigée vers la vue de VisualisationController.
etc...

Le truc, c'est que ce système marche très bien pour tous mes "sous-onglet" sauf pour un, alors que j'utilise le même code (concernant l'affichage de la vue) pour tous...

Je vais tester le bout de code que tu m'as fourni.


Edit : Le code que tu m'as fourni ne change rien au problème. à quoi sert le "setNoController()" ? Je pense que c'est assez explicite comme nom de fonction, mais quel en est l'intérêt ?

Dernière modification par Nikko (26-06-2009 08:57:55)


Nikko

Etudiant en école d'ingénieur à l'INSIA

Hors ligne

 

#6 26-06-2009 09:08:14

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

Re: [Résolu][Zend_Layout]Mon layout ne s'affiche pas

En fait son nom n'est pas si explicite que ca... Il sert juste à désactiver le rendu automatique de la vue.....

Mais si ce code marche pour tes autres sous onglet il faut chercher ailleurs....
Juste une idée au vol: Si tu travail sous Linux, Vérifier la case dans le nommage de tes controllers & vues... car ce dernier est sensible à la case.... Ça pourrait venir de là...

Dernière modification par pastel (26-06-2009 09:08:45)

Hors ligne

 

#7 26-06-2009 10:04:44

Nikko
Membre
Lieu: Rueil (Haut-de-Seine)
Date d'inscription: 19-12-2008
Messages: 95

Re: [Résolu][Zend_Layout]Mon layout ne s'affiche pas

Ok, je comprends mieux l'utilité de cette fonction. Mais quelle est la différence entre cette fonction et celle que j'emploi ($this->getHelper('viewRenderer')->setNoRender(); ) ? La portée sur le controller entier ou juste sur une action ?

Je travaille, pour le moment, en local sur Windows, mais je crois que le serveur sera un Linux. Donc, a priori, le problème ne vient pas de là...

Si tu as d'autres idées qui te viennent, je suis preneur :)

Cordialement,

Édit : j'ai trouvé la solution. C'est un "exit()" qui était caché entre 2 lignes. Désolé de t'avoir fais perdre ton temps pour des bêtises pareil.

Dernière modification par Nikko (26-06-2009 11:32:21)


Nikko

Etudiant en école d'ingénieur à l'INSIA

Hors ligne

 

#8 26-06-2009 23:44:57

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

Re: [Résolu][Zend_Layout]Mon layout ne s'affiche pas

Pas de pb.
A+

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