Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Suite à un précédent message sur le fofo, j'ai construit une architecture dans mon projet comme suit :
[lang=php] - client - clientOne - Invoice - Cart - Orders - clientTwo - Invoice - Orders - clientThree - Reporting - module - Application - CartModule - InvoiceModule - OrdersModule - Reporting
J'aimerais savoir comment procéder pour que dans mes controleur, je puisse avoir une nouvele stratégie de chargement des vues. Je m'explique :
Admettons que pour le module CartModule, j'ai une vue générique cart.phtml, mais que mon clientOne, et ClientTwo veulent une vue qui leur est propre. De là, j'aimerai stocker ces vues dans leur dossier client, et créer une stratégie pour charger ces vues là si elles existent sinon retourner la vue par défaut, celle commune a tous. Je précise que mon dossier client est autoloadé dans mon composer.json, mais que ce ne sont pas des modules. Juste des scripts qui étendent des scripts du tronc commun.
Je pense qu'il faut que je m'oriente vers une ViewStrategy couplé avec un Resolver custom, mais je n'ai pas réussi a faire marcher quoique ce soit jusqu’à présent...
Toute aide serait la bienvenue.
Hors ligne
Salut,
J'ai pas suivie ton précédent message, l’architecture de client que tu nous montre c'est celui du modèle ? il s'agit bien de types de clients?
moi je définirai dans un fichier de config un view_manager pour chaque type de client, qui pointe sur un dossier de template différent pour chacun d'eux (mais qui on la même arborescence) :view_manager_clientOne, view_manager_clientTwo, etc...
Puis dans la fonction Boostrap de la classe Module de Application, je merge la clé du tableau de config "view_manager" avec le bon view_manager, selon l'utilisateur connecter.
Ou quelque chose comme sa en tout cas ^^. Trop bourrin peut être.
C'est quoi ce dossier "client" autoloadé par le composer.json au juste?
Dernière modification par Cawet (29-12-2015 16:51:48)
Hors ligne
Salut,
Merci pour ta réponse,
J'ai solutionné ce problème hier. La réponse ici :
http://stackoverflow.com/questions/3422 … -if-exists
En gros j'ai un nouveau TemplateMapResolver custom que j'ajoute au viewRenderer de base de Zend Framework2, et ceci dans une nouvelle stratégie.
Çà marche plutôt bien j'ai pas l'impression d'avoir des effets de bord mais c'est encore en tests.
Merci d'avoir essayé d'aider.
Hors ligne
a ouaii, c'est plus propre quand même ^^
Hors ligne
Et c'est encore plus propre depuis que j'ai fait une refacto dessus ^^'
Par contre, la manière de faire ne t'aide pas pour ton post ? Tu as un problème sur la même couche non ?
Hors ligne
Pages: 1