Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 27-05-2009 09:13:10

squall6969
Membre
Date d'inscription: 14-09-2008
Messages: 90

[Zf1.8]Ajouter des chemin vers les aides de vues

Bonjour,

J'aimerais savoir comment implémenter élégamment de nouveaux chemins vers les aides de vue.
En effet je ne me suis pas encore trop renseigné sur la classe Zend_Application et donc ne vois pas trop le fonctionnement.

Le but étant de ne pas polluer mes vue ou mes controllers.


Merci

Hors ligne

 

#2 27-05-2009 22:43:33

mdelanno
Membre
Lieu: Nord
Date d'inscription: 26-08-2007
Messages: 90
Site web

Re: [Zf1.8]Ajouter des chemin vers les aides de vues

$view->addHelperPath('/MonEspaceDeNom/View/Helper', 'MonEspaceDeNom_View_Helper') et tu utilises le fichier de cache des plugins (http://framework.zend.com/manual/fr/per … uginloader) pour réduire le nombre d'appel utilisé

Je vois pas trop ce que ça à voir avec Zend_Application. Les aides de vue, ce sont des classes que tu implémentes dans ton propre espace de nom et le chargeur de plugin se charge de les charger à la demande. Une aide de vue n'est chargée que lorsque tu l'appelles. Tu peux donc en créer autant que tu veux sans que ça ne pose de problème d'occupation de mémoire.

Et une aide de vue, c'est comme son nom l'indique, à utiliser dans une vue. Ca n'a donc rien à voir avec tes contrôleurs.

Dernière modification par mdelanno (27-05-2009 22:52:19)

Hors ligne

 

#3 28-05-2009 11:31:30

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Zf1.8]Ajouter des chemin vers les aides de vues

J'ai dessuite surcharger Zend_Application_Resource_View, ainsi j'ai pu rajouter tout un tas de truc smile
Voici un snippet

Code:

class Rx_Application_Resource_View extends Zend_Application_Resource_View {

    /**
     * Defined by Zend_Application_Resource_Resource
     *
     * @return Zend_View
     */
    public function init()
    {
        parent::init();
        
        // Encoding
        if (isset($this->_options['encoding'])) {
            $this->_view->setEncoding($this->_options['encoding']);
        }

        //View Doctype for XHTML
        if (isset($this->_options['doctype']) && is_string($this->_options['doctype'])) {
            $this->_view->doctype($this->_options['doctype']);

            $contentType = 'text/html';
            if (isset($this->_options['encoding'])) {
                $contentType .= '; charset='.$this->_options['encoding'];
            }

            $this->_view->headMeta()->appendHttpEquiv('Content-Type', $contentType); // == header('Content-Type: '.$contentType);
        }

        // LES AIDES DE VUES !
        if (isset($this->_options['helperPaths'])) {
            foreach($this->_options['helperPaths'] as $prefix => $path) {
                $this->_view->addHelperPath($path,$prefix);
            }
        }

        //nice shortcut
        $this->_view->assign('requestUri', $_SERVER['REQUEST_URI']);

        return $this->_view;
    }
}

Le bout de mon application.ini

Code:

; pour surcharger les ressources automatiquement
pluginPaths.Rx_Application_Resource = "Rx/Application/Resource/"

resources.view.encoding = UTF-8
resources.view.doctype = XHTML1_STRICT
resources.view.helperPaths.Rx_View_Helper = APPLICATION_PATH "/../librairies/Rx/View/Helper"
resources.view.helperPaths.My_View_Helper = APPLICATION_PATH "/somepath/"

Hors ligne

 

#4 28-05-2009 14:01:40

ubini
Membre
Lieu: gillarens/Suisse
Date d'inscription: 23-01-2008
Messages: 110
Site web

Re: [Zf1.8]Ajouter des chemin vers les aides de vues

il set à quoi ton "nice shortcut", Mr.MoOx ? (si c'est pas indiscret)

Dernière modification par ubini (28-05-2009 14:02:28)


http://www.easyswap.org - site d'échange de biens et de services conçu avec jQuery et Zend Framework
http://www.lambelet.net - mon blog perso et inutile

Hors ligne

 

#5 28-05-2009 14:05:52

squall6969
Membre
Date d'inscription: 14-09-2008
Messages: 90

Re: [Zf1.8]Ajouter des chemin vers les aides de vues

Son nice shortcut lui permet d'assigner à la vue la variable $_SERVER['REQUEST_URI'] afin de faire l'appel suivant: $this->requestUri dans la vue.

C'est un raccourci ^^.

En tout cas merci pour ces implémentation des ressources, c'est exactement ce que je recherchais.

Par contre mdelanno, en peu hors sujet... mais merci quand même ^^

++

Hors ligne

 

#6 28-05-2009 14:17:58

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Zf1.8]Ajouter des chemin vers les aides de vues

De rien wink

Traduction
nice shortcut = raccourci sympa smile

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