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 :

Changer contenu d'un div en fonction de l'url


Sujet :

Zend Framework PHP

  1. #21
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Points : 172
    Points
    172
    Par défaut
    Je me suis appuyer de ce poste et la tu m'annonce l'inverse de se que tu affirmé...
    http://www.developpez.net/forums/d11...obleme-layout/
    Pour le layout, je l'ai divisé en X parties et ensuite j'ai inclus ces parties grace a render() ce n'ets pas correct ?

    Sinon pour cette question :
    Comment afficher dans le layout le nom du controller ou je me trouve ?

  2. #22
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    Citation Envoyé par thebarbarius Voir le message
    Comment afficher dans le layout le nom du controller ou je me trouve ?

    mais normalement c'est automatique par défaut

    index/index affiche index/index.phtml
    login/index affiche login/index.phtml

    si ton content doit s'afficher sur tout les pages met le partial, y'a un probleme de logique dans ta conception

  3. #23
    Membre éprouvé
    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
    Points : 1 297
    Points
    1 297
    Par défaut
    Non je ne contre dis pas ça mais dans le post c etait pour des header menu ou autre devant etre inclus sur quasiment toutes tes pages mais la au vue de tes messages tu veux inclure des vue a part entiere ce qui n est pas le but du layout par exemple tu inclue ton formulaire.

    Tu peux récupérer le controleur en travaillant sur une instance du bootstrap qui est stocké dans le registre ou peut etre en récupérant un instance de la requete

  4. #24
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Points : 172
    Points
    172
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    mais normalement c'est automatique par défaut

    index/index affiche index/index.phtml
    login/index affiche login/index.phtml

    si ton content doit s'afficher sur tout les pages met le partial, y'a un probleme de logique dans ta conception
    Mais quel est le code php pour afficher le ne nom du controlleur ou on se trouve ?

  5. #25
    Membre éprouvé
    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
    Points : 1 297
    Points
    1 297
    Par défaut
    Pour le nom du module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Zend_Controller_Front::getInstance()->getRequest()->getModuleName();
    Pour le nom du controleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Zend_Controller_Front::getInstance()->getRequest()->getControllerName();
    Pour le nom de l'action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Zend_Controller_Front::getInstance()->getRequest()->getActionName();
    Normalement tu as tous ce qu'il te faut.

  6. #26
    Membre éprouvé
    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
    Points : 1 101
    Points
    1 101
    Par défaut
    Tu pourra le faire depuis un view helpers.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->getActionController()->view->controller_name = $this->getRequest()->getControllerName();
    Et récuperer dans Layout avec

  7. #27
    Membre éprouvé
    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
    Points : 1 297
    Points
    1 297
    Par défaut
    Il y a un interet ? Car comme indiqué dans mon post il est possible de le récupérer directement

  8. #28
    Membre éprouvé
    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
    Points : 1 101
    Points
    1 101
    Par défaut
    J'ai pas vue qu'il y a une 2ème page, j'ai pas lu votre poste.

  9. #29
    Membre régulier Avatar de Alcide_
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 79
    Points : 114
    Points
    114
    Par défaut
    A mon avis, pour ce que tu veux faire, la meilleure façon de procéder serait de réaliser une aide de vue assez générique...
    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
     
    class Test_View_Helper_MyHelper
    {
        protected $_view;
     
        public function setView(Zend_View_Interface $view)
        {
            $this->_view = $view;
        }
     
        public function myHelper(){
             $render = "";
             $controllerName = Zend_Controller_Front::getInstance()
                                       ->getRequest()
                                       ->getControllerName();
             if(array_key_exist($controllerName,$options)){
                   $script = 'path/to/'.$options[$controllerName].'phtml';
                   $render =$this->_view->render($script);
             }
             return $render;
        }
    }
    Comme ça, dans ton layout, c'est toi qui déclare les relations controlleur/partial.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?=$this->myHelper(array('monControlleur'=>'maVuePartielle'));?>
    C'est une idée mais j'ai quand même l'impression que ce genre de solution est une rustine pour un problème plus général de conception...

  10. #30
    Membre éprouvé
    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
    Points : 1 297
    Points
    1 297
    Par défaut
    Une aide de ue n a aucun interet ici car il faudra faire un appel a celle ci alors que cela est possible de base.

    Un plugin en predispatch serait le mieux mais je doute que cela soit utile ici.

    Par contre je pense egalement a un problème de conception

  11. #31
    Membre régulier Avatar de Alcide_
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 79
    Points : 114
    Points
    114
    Par défaut
    Citation Envoyé par 5h4rk Voir le message
    Une aide de ue n a aucun interet ici car il faudra faire un appel a celle ci alors que cela est possible de base.
    Qu'entends-tu par "possible de base" ?

  12. #32
    Membre éprouvé
    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
    Points : 1 297
    Points
    1 297
    Par défaut
    Le but d un helper et de permettre d accéder a des ressources simplement ou a des resdources innaccessible depuis la vue.

    Si tu regarde mes précédent message tu vera qu il est possible de récuperer simplement ce qui est demandé ici

  13. #33
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Points : 172
    Points
    172
    Par défaut
    J'ai trouvé la solution.

    Premierement je recupere le controller actuel comme sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $controller = Zend_Controller_Front::getInstance()->getRequest();
    $getController = $controller->getControllerName(); #affiche le controller utilisé
    Ensuite dans mon layout.phtml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //..
    if ($getController == 'index') {
       $this->render('presentation.phtml');
    }
    if ($getController == 'login') {
       $this->render('login_form.phtml');
    }
    //..
    J'ai mis des if pour aller plus vite, mais ce sera un switch.

    Voila c'est ce que je voulais.

  14. #34
    Membre éprouvé
    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
    Points : 1 297
    Points
    1 297
    Par défaut
    Tu n as rien trouvé c est tout ce qu on t a mis

  15. #35
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Points : 172
    Points
    172
    Par défaut
    Je vais essayer de creer mon premier helper.
    Mais je sais pas si les helper marche pour le layout ou si les marche juste pour le scripts de vue.

    Pour le deuxieme point je pourrai juste creer une fonction, car le helper du dessus me semble bien complet par rapport a ce que j'ai besoin.

    Quelle sont les avantages des helper par rapport a des classes personnalisé ou des fonctions ?

  16. #36
    Membre éprouvé
    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
    Points : 1 297
    Points
    1 297
    Par défaut
    Oui un helper fonctionne. Et si tu veux mettre tout le code du dessus en effet ça peut etre bien un helper

    Par contre par respect à ceux qui t aident signale le de suite quand ton probleme est résolus ça prend 2 secondes.

  17. #37
    Membre régulier Avatar de Alcide_
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 79
    Points : 114
    Points
    114
    Par défaut
    Citation Envoyé par 5h4rk Voir le message
    Le but d un helper et de permettre d accéder a des ressources simplement ou a des resdources innaccessible depuis la vue.

    Si tu regarde mes précédent message tu vera qu il est possible de récuperer simplement ce qui est demandé ici
    Je les ai lu et on est à mon avi d'accord sur le fond mais pas sur la forme.

    Quand à l'intérêt d'une aide de vue, je trouve quand même plus élégant et plus clair (cela n'engage que moi) de réduire au minimum les traitements php dans les fichiers *.phtml et d'écrire du code le plus réutilisable possible (quand c'est possible ).
    Question de goût sûrement !
    On a peut-être pas la même vision de la simplicité...

  18. #38
    Membre éprouvé
    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
    Points : 1 297
    Points
    1 297
    Par défaut
    Pour utiliser une aide de vue tu as également besoin d'utiliser du php dans le .phtml.

    Si tu relis mes messages je disais comme quoi il était inutile de faire un helper pour une chose existant déjà comme récupérer le nom du controller.

    Par contre si tu lis mon dernier message, tu verras que pour mettre tout son code j'ai bien indiqué que c'était mieux un helper.

  19. #39
    Inactif
    Inscrit en
    Octobre 2008
    Messages
    826
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 826
    Points : 172
    Points
    172
    Par défaut
    Sa ne reponds pas a la question suivante :

    Vaut mieu un helper plutot qu'un classe personnalisé ?
    Car pour l'instant je ne vois pas l'interet su helper par rapport a une classe...

  20. #40
    Membre éprouvé
    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
    Points : 1 297
    Points
    1 297
    Par défaut
    La différence est que le helper peut etre utilisé directement dans tes vues contrairement a tes classes personnalisé qui ne servent d ailleurs pas forcément à ça.
    Apres tu peux avoir le même rendu en mettant des methodes statiques.

    Ne pas oublier qu un helper est une classe

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Changer contenu d'une div
    Par Kurzic dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 23/12/2014, 10h25
  2. Réponses: 1
    Dernier message: 21/02/2014, 19h02
  3. afficher un div en fonction de l'url
    Par asus02 dans le forum Langage
    Réponses: 3
    Dernier message: 22/04/2012, 13h16
  4. Taille des div en fonction du contenu
    Par frog43 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 12/06/2008, 14h52
  5. [HTML/CSS] Taille d'un <div> en fonction de son contenu
    Par hedgehog dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 14/12/2006, 18h57

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