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

Ext JS / Sencha Discussion :

nuage de tags et architecture MVC.


Sujet :

Ext JS / Sencha

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 12
    Points : 9
    Points
    9
    Par défaut nuage de tags et architecture MVC.
    Bonjour,

    J'aimerai que les données soient chargées par un fichier action (URL).
    Quand les données sont chargées par la view la methode initialize charge bien les tags de la personne et
    les tags encore disponible mais quand l'action me retourne un JSON ca ne marche pas!?

    Le code est commenté

    Extrait du controller maitrise.js

    Le template est affiché dans un panel qui est inclu dans un viewport.
    Le template est separé en deux. Une partie "on" les tags associé a une personne et une partie "off" ou il y a la liste des tags disponible en BDD.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // TAGS ////////////////
     
    	var tagsTpl = new Ext.XTemplate(
    			'<tpl for="items">',
    				'<a href="javascript:onTagClick({values.data.id_tag})" id=tag{values.data.id_tag} class=tag-{values.data.tagged}>{values.data.tag_name}</a>',
    			'</tpl>'
    		);
    Store des tags (deja) associé a la personne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // j'ai crée ce store afin que les données puissent changer sans recharger la page
    		storeTagPerson = new Ext.data.Store({
    			url: '../action/tagAction.php?actionType=getTagNeed',
    			//data:tagsPerson, // ca marche avec les données de la view
    			reader: new Ext.data.JsonReader({
    				root: 'data',
    	            id: 'id_tag',
    	    		fields: ['id_tag', 'tag_name', 'tagged']
    			})
    		});
    		storeTagPerson.load();
    Store de l'ensemble des tags et formatage dans le template
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    		storeTag = new Ext.data.Store({
    			data: tags, // crée sur la view mais ca ne me derange pas
    			reader: new Ext.data.JsonReader({
    				root: 'response.data',
    	            totalProperty: 'totalCount',
    	            id: 'id_tag',
    	    		fields: ['id_tag', 'tag_name', 'tagged']
    			}),
    			format: function () {
    				this.filter("tagged", "on");
    				tagsTpl.overwrite(Ext.ComponentMgr.get("tagsOn").body, this.data);
    				this.filter("tagged", "off");
    				tagsTpl.overwrite(Ext.ComponentMgr.get("tagsOff").body, this.data);
    				this.clearFilter();
    			}
    			,initialize: function () {
    				this.each(function (item) {
    					this.set("tagged","off");
    				});
    				/* Je ne souhaite plus utilisé ce systeme qui affiche les tags associé a UNE personne et qui va chercher dans 
    la view les données
    				(var tagsPerson = '{ data : [{"id_tag":"43","tag_name":"Ada"},{"id_tag":"30","tag_name":"Admin"},{"id_tag":"19","tag_name":"AOCS"}]}';)
     
    				t = tagsPerson.data; // caching
    				for(i=0;i<t.length;i++) {
    					this.getById(t[i].id_tag).set("tagged","on");
    				}
    				*/
    				// Je souhaite quelque chose comme ca:
    				storeTagPerson.each(function (item) {
    					this.getById(this.data.id_tag).set("tagged","on");
    				});
    				this.format();
    			}
    		});
    		storeTag.initialize();
    Une autre idée mais qui na pas connu plus de succes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    		Ext.Ajax.request({
    			url: '../action/tagAction.php?actionType=getTagNeed',
    			success: function(response){
    			alert(response.responseText);
    			var tagsPerson = response.responseText;
    		}
    		});

    J'espere avoir été assez clair. Merci d'avance. ++

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Store
    pour simplifier, ma question est:
    J'ai un store qui recoit en JSON, comment recuperer les valeurs afin de faire du traitement? Avec un each, avec un getById(), une petite reponse svp

Discussions similaires

  1. architecture mvc etxml/xsl
    Par kiko2005 dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 14/08/2009, 14h52
  2. Utiliser une architecture MVC
    Par misterniark dans le forum MVC
    Réponses: 5
    Dernier message: 03/11/2006, 22h35
  3. [POO] Tag cloud - nuage de tags
    Par chakan dans le forum Langage
    Réponses: 1
    Dernier message: 20/10/2006, 16h35
  4. [Spring MVC] Architecture MVC dans spring
    Par Alec6 dans le forum Spring Web
    Réponses: 4
    Dernier message: 11/10/2006, 12h35
  5. Architecture MVC
    Par Bobleponge dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 20/06/2005, 10h16

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