IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

[ZF 2.x] Rajouter un service dans une vue


Sujet :

Zend Framework PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Par défaut [ZF 2.x] Rajouter un service dans une vue
    Bonjour,

    J'ai un fichier ini que je charge dans zend et je donne à mon layout principal. Voici comment je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    abstract class AbstractModule
    {
    	abstract protected function _onBootstrap(MvcEvent $evm);
     
    	public function onBootstrap(MvcEvent $evm)
    	{
    		$this->configureLayout($evm);
    	}
     
    	/**
    	 *
    	 * Cette méthode permet de configurer les layout d'encapsulation de la vue.
    	 * Ony charge par exemple le menu et les informations de context.
    	 */
    	private function configureLayout(MvcEvent $evm)
    	{
    		// Récupère l'objet correspondant au layout de haut niveau
    		$application = $evm->getParam('application');
    		$viewModel = $application->getMvcEvent()->getViewModel();
     
    		// Récupère les menus et les affecte au layout
    		$menuOrm = $evm->getApplication()->getServiceManager()->get("\NavSite\ORM\MenuOrm");
    		$viewModel->menus = $menuOrm->getMenus();
     
    		// Récupère la conf et l'affecte au layout
    		$conf = $evm->getApplication()->getServiceManager()->get("\MaLib\Config\Config");
    		$viewModel->config = $conf;
    	}
    }
    Celà fonctionne parfaitement. Dans mon layout/layout j'ai bien accès à '$this->conf'. Cependant, je n'y ai pas accès dans ma vu 'content'.

    Dans cette vue, puis-accéder au layout principal ? Ou, comment puis-je rajouter conf dans toutes les vues ?

    merci

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Si dans tes actions de controllers tu fais un new ViewModel();, il est normal que cet objet ne connaisse pas la config.

  3. #3
    Membre Expert
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Par défaut
    Salut,

    Oui, je suis bien d'accord. Quelle serait alors la manière de configurer toutes les vues d'un coup ?

    je pourrais la configurer dans le controller mais ça implique de faire l'appel dans chaque action de tous les controller... Si je peux éviter

  4. #4
    Membre Expert
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Par défaut
    Peut être qu'une vue peut appeler sa vue container d'une manière ou d'une autre et je pourrais alors faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->container->config

  5. #5
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Tu peux lire cette discussion, et en particulier l'intervention de Matthiew. Cela devrait t'intéresser.

    http://zend-framework-community.6341...td4658850.html

Discussions similaires

  1. Rajouter des caractères dans une chaine
    Par pymouse dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 22/05/2007, 17h35
  2. rajouter des data dans une Base de donnée SQL
    Par el_pilacho dans le forum Accès aux données
    Réponses: 1
    Dernier message: 12/01/2007, 12h42
  3. [debutant] rajouter un applet dans une page JSP
    Par mlequim dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/07/2005, 14h50
  4. comment rajouter un caractère " ' " dans une requê
    Par GDVL dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 30/07/2004, 16h58
  5. [langage] Comment rajouter des champs dans une liste
    Par toto_titi dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2003, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo