Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 04-01-2009 12:15:51

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Helpers de vue et modules

Bonjour et bonne année à tous smile

Voilà, je suis en train de regarder comment utiliser des aides de vues...

J'en ai déjà réalisés quelques unes communes que j'ai mis dans mon dossier "library".
du genre la classique :

Code:

<?php
class Kaimite_View_Helper_BaseUrl {
    function baseUrl () {
        $frontController = Zend_Controller_Front::getInstance();
        return $frontController -> getBaseUrl();
    }
}

en ajoutant dans mon bootStrap :
$view -> addHelperPath(KAIMITE_LIBRARY_DIR . '/View/Helper', 'Kaimite_View_Helper');

Le truc c'est que je développe mon site avec des modules uniquement.

J'ai donc un module "rubrique".

Si je veux lui definir des aides de vues je vais devoir les déclarer dans mon bootstrap :

$view -> addHelperPath(MODULES_DIR . '/rubrique/views/helpers', 'Rubrique');
et créer mon aide de la façon suivante :

Code:

class Rubrique_MenuPrincipal {
    function menuPrincipal () {
        ...
        return "...";
    }
}

Comme je souhaite ne pas trop modifier mon bootstrap à chaque site pensez-vous qu'il soit gênant de faire un truc du genre pour automatiser les définitions de mes helpers :

Code:

//--> Ajout des aides des modules
$listeModules = scandir(MODULES_DIR);
foreach ( $listeModules AS $unModule ) {
    $view -> addHelperPath(MODULES_DIR . '/' . $unModule . '/views/helpers', ucfirst($unModule));
}

Merci d'avance pour vos réponse smile

Cordialement,
Kaimite

Hors ligne

 

#2 12-01-2009 00:11:35

keilnoth
Membre
Date d'inscription: 30-08-2008
Messages: 128
Site web

Re: Helpers de vue et modules

Si tu as besoin dans un module des helpers d'autres modules, pourquoi ne pas les déclarer à la racine de ton projet, donc dans KAIMITE_LIBRARY_DIR ?

Sinon, tu peux charger les helpers du module courant uniquement, après le dispatch tu peux récupérer le nom du module avec une méthode de l'objet de requête qui doit être getModuleName() ou qqch comme ça.


Quelques tutoriaux Zend Framework !

Hors ligne

 

#3 12-01-2009 07:58:51

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: Helpers de vue et modules

Salut et merci pour la réponse.

Logiquement, en faisant comme ça, je peux acceder à n'importe quel helper depuis n'importe quelle vue. D'ailleurs j'utilise dans mon layout le helper Rubrique_MenuPrincipal() directement en faisant un :

Code:

echo $this -> menuPrincipal();

Je souhaite les garder dans le répertoire du module car si j'ai besoin de réutiliser mon module sur un autre site je' n'ai que le dossier du module à copier sans chercher d'autres fichiers ailleurs...

J'ai d'ailleurs certains modules qui seront communs à pratiquement tous les sites :
- rubrique
- administrateur
- page
- article

Cordialement,
Kaimite

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