|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : novembre 2005 Messages : 26 ![]() |
Bonjour, me revoila avec mes problèmes tordus
![]() Pour clarifier les choses, j'utilise le modele MVC de Zend Framework. J'ai un layout principal dans lequel il y a un tabContainer. Chaque ContentPane de mon tabContainer possede une propriete href avec une url. Ainsi, le contenu du contentPane est charge lors de sa premiere selection. Le seul soucis, c'est que les elements de type dijit ne sont reconnus que si je spécifie les dojo.require adequat dans mon layout principal (celui du tabContainer). Cependant, le faire consisterai a centraliser l'ensemble des dependances du site dans le layout principal, ce qui est anti-MVC. Ca me derange donc de le faire ainsi. J'ai beau ajouter un bloc Code :
<script type="text/javascript">dojo.require('dijit.form.TextBox');</script> Comment peut-on rajouter dynamiquement des require ? Me trompe-je dans ma façon de faire ? |
|
|
00
|
|
|
#2 | ||||
|
Membre éprouvé
![]() Gibot DanielInscription : janvier 2010 Messages : 313 ![]() |
Bonjour,
Je ne connais pas le modèle MVC de Zend Framework et du coup je ne vois pas en quoi c'ets anti MVC de ne charger qu'une seule fois un objet dans la page principale. Une fois cela fait il n'y a plus besoin d'y faire appel. Bref, si vous souhaitez charger les objets dijit dans les contentpane, il vous faut utiliser les "dojox.layout.contentpane" qui permettent l'utilisation de scripts et surtout de "parser" la page chargée. Version déclarative : Code :
Code :
|
||||
|
|
10
|
|
|
#3 |
|
Invité régulier
![]() Inscription : novembre 2005 Messages : 26 ![]() |
Bonsoir,
Merci pour l'info. Cependant, cela ne semble pas fonctionner. La balise script doit elle être dans le code initial du contentPane ou dans la partie chargée dynamiquement (j'ai pour le moment teste cette seconde solution) ? Pour revenir son mon concept de l'anti-MVC, je conçois le modèle MVC comme une répartition des taches de façon a ce que chaque vue s'occupe de ce qui la regarde, et ainsi ajouter/modifier/supprimer des modèle/vue/controlleur a notre guise sans impacter le reste du site. Hors, en l’état actuel des choses, pour pouvoir charger les différents modules dojo, il faut passer par la vue principale, qui contient le menu. Cela revient donc a centraliser dans la vue du menu l'ensemble du chargement des dépendances des autres vues. Ainsi, si je veux ajouter une vue utilisant des modules dojo encore non utilises, je suis oblige de modifier 2 vues (la nouvelle + la vue principale (celle du menu)). C'est ce que je considère comme étant un anti-MVC car nous perdons la notion d’indépendance des modèle/vue/controlleur les uns par rapport aux autres. |
|
|
00
|
|
|
#4 | ||||
|
Membre éprouvé
![]() Gibot DanielInscription : janvier 2010 Messages : 313 ![]() |
Bonjour,
La balise script doit être dans la partie initiale du contentPane. Ce que j'ai l'habitude de faire c'est créer une fonction dans la partie indépendante (par exemple "chargement") que j'appelle dans la balise script. Ce qui donne l'impression que c'est "indépendant". Dans la partie principale : Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com