Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/09/2007, 22h39   #1
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant @ Microsoft
Inscription : mars 2003
Messages : 10 713
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant @ Microsoft
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 713
Points : 15 946
Points : 15 946
Par défaut Variables communes aux actions du controller

Problème simple, j'aimerai définir une variable dans mon controller et pouvoir y accéder depuis les actions (plus précisément les scripts chargés automatiquement).
Je me doute que je dois le mettre dans la methode init() du controller mais ces variables ne sont alors pas disponibles depuis les scripts. (ou alors j'ai pas réussi)


En gros, dans chaque script, j'ai un header
<h1>$title</h1> et ce header étant commun à chaque page, je pensais le mettre dans le header(.phtml) puis le personnaliser pour chaque controller à travers une variable de la methode init().
__________________
moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 23h22   #2
Membre Expert
 
Avatar de Janitrix
 
Inscription : octobre 2005
Messages : 3 398
Détails du profil
Informations forums :
Inscription : octobre 2005
Messages : 3 398
Points : 2 331
Points : 2 331
Je fais la même chose pour mon site. Cependant, je ne vois pas trop ce que tu veux dire par "les scripts chargés automatiquement".

Moi, j'ai un fichier header.tpl (j'utilise Smarty pour gérer mes templates, mais c'est pareil sans je pense), qui contient mon header donc mon titre Ce fichier header.tpl, je l'inclus dans tous les fichiers tpl principaux (index.tpl, identification.tpl, contact.tpl, ...).

Alors, dans mon controller, je n'ai qu'a modifier cette variable "montitre" en faisant
Code :
$this->view->montitre = "Mon titre";
Mais j'ai l'impression de ne pas avoir vraiment compris le sens de ta question
Janitrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 23h34   #3
Rédacteur

 
Avatar de Louis-Guillaume Morand
 
Homme Louis-Guillaume MORAND
Consultant @ Microsoft
Inscription : mars 2003
Messages : 10 713
Détails du profil
Informations personnelles :
Nom : Homme Louis-Guillaume MORAND
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant @ Microsoft
Secteur : Conseil

Informations forums :
Inscription : mars 2003
Messages : 10 713
Points : 15 946
Points : 15 946
c'est tout comme toi, sauf que les scripts chargés correspondent à index.tpl, etc

dans mon controller, j'ai ca
Code :
1
2
3
4
5
6
7
8
class AdminController extends Zend_Controller_Action 
{
	function init()
    {
        $this->view->baseUrl = $this->_request->getBaseUrl();
	$this->view->controller = "Panneau d'administration";
    }
....
et dans mon header, j'ai ca:
Code :
1
2
3
4
5
    // affichage du mini header
    if(!empty($controller))
	{
		echo "<div class='mini_header'>$controller </div>";
	}
Mon header est chargé dans chaque script
Code :
1
2
3
<?php 
	echo $this->render('header.phtml'); 
?>
malheureusement, $controller est vide.

pourtant ca ressemble à ce que tu fais toi


edit: solution $this-> controller au lieu de $controller
Louis-Guillaume Morand est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h41.


 
 
 
 
Partenaires

Hébergement Web