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

MVC PHP Discussion :

Init Layout Boostrap


Sujet :

MVC PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 38
    Par défaut Init Layout Boostrap
    Bonjour,

    Je voudrais in initialiser mes différents layout à partir du boostrap mais je ne sais pas comment faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        protected function _initLayout()
        {
     
        	$this->bootstrap('view');
            $view = $this->getResource('view');
            $layout = new Zend_Layout();
            $view->ucp = $layout->ucp;
            $view->loginbox = $layout->loginbox;
            $view->sidebarre = $layout->sidebarre;
     
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div id="ucp"><?php echo $this->ucp ?></div>
    <div id="loginbox "><?php echo $this->loginbox ?></div>
    <div id="sidebarre "><?php echo $this->sidebarre ?></div>
    Mais ça ne marche pas

  2. #2
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Il me semble que tu ne peux initialiser qu'un seul layout (celui par défault) et appeler les autres quand tu le souhaites

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 38
    Par défaut
    Oui actuellement je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span id="loginbox"><?php echo $this->render('loginbox.phtml') ?></span>
    Mais je chercher à faire plus propre

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    protected function _initLayout()
    {
           $options = array('layout'     => 'ucp',
                                 'layoutPath' => '/chemin/vers/layouts',
                                 'contentKey' => 'CONTENT');
     
            $layout = new Zend_Layout();
            $layout->setOptions($options); 
    }
    Et tu appel celui que tu veux dans le controller.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class FooController extends Zend_Controller_Action
    {
        public function bazAction()
        {
            $this->_helper->layout->setLayout('ucp');
        }
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 38
    Par défaut
    Et dans le phtml tu l'appelles comment ? Car je dois appeler plusieurs layout dans un gros layout.

  6. #6
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    Ce ne sont plus des layout dans ce cas la mais des vues partielles tu es sur de savoir de quoi tu parle et de ce que tu veux

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 38
    Par défaut
    Certainement pas très bien ^^

    Actuellement j'ai un layout lancé à partir de l'indexController

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        public function init()
        {
    	/* Initialize action controller here */
    		Zend_Layout::startMvc();
     
        }
    A partir de là, je ne sais plus trop comment j'ai fais mais j'ai mon rendu quand j'appelle l'index. La vue étant sur /application/views/scripts/layout.phtml

    Là dans mon layout.phtml je veux appeller d'autres layout (ou vues partielles ?), actuellement dans ce fichier je fais donc ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <div id="loginbox"><?php echo $this->render('loginbox.phtml') ?></div>
    <div id="zfucp"><?php echo $this->render('ucp.phtml') ?></div>
    Ces deux .phtml étant aussi dans le répertoire /application/views/scripts/

    Ensuite quand j'ai besoin de faire appelle à ces fichiers dans mes controllers je fais aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        public function loginAction()
        {
            // action body
            if($this->view->phpbb->Get_Loginbox() !== true)
            break;
            
            $aData = $this->getRequest()->getPost();  
            $this->view->username = $aData['username'];
            echo json_encode(array(array('loginbox',$this->view->render('loginbox.phtml')),array('zfucp',$this->view->render('ucp.phtml'))));
            
        }
    Bon après je ne sais pas si c'est bon ou pas

  8. #8
    Membre Expert
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Par défaut
    regarde du coté de partial qui fonctionne a peu prés de la même façon que render

Discussions similaires

  1. panel, layout et frame
    Par beLz dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 24/04/2004, 23h45
  2. [FEDORA] Problème d'init
    Par Ultra-FX dans le forum RedHat / CentOS / Fedora
    Réponses: 7
    Dernier message: 13/04/2004, 10h22
  3. [debutant] [servlets] methode init()
    Par be_on_edge dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 01/03/2004, 15h11
  4. [Débutant][swt][layout]
    Par Stessy dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 28/07/2003, 18h21
  5. [CR7] Erreur CanNot initalize OLE
    Par elifqaoui dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 17/07/2003, 22h03

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