lien clickable ds un xml

lien clickable ds un xml - Web design - Graphisme

Marsh Posté le 14-10-2005 à 12:10:03    

bonjour a tous, voila, j'ai un site realisé en flash dont les rubriques appellent du texte placé dans un xml (je sais pas si je suis tres clair :heink: ) j'aimerai mettre sur la page des "niouses" un lien vers une autre adresse et que ce lien soit clickable.
1) j'imagine que c'est possible
2) je n'arrive pas a trouver la bonne methode
 
pourriez vous aider un debutant?
 
merci d'avance!!
 
 
 

Reply

Marsh Posté le 14-10-2005 à 12:10:03   

Reply

Marsh Posté le 14-10-2005 à 17:18:04    

tes champs de texte dynamiques peuvent accueillir du html, ou plutôt quelques balises de base. Et la balise <a href="mon_lien">le prix des oeufs a augmenté</a> marche impec. Donc dans ton xml tu crée une balise du style :
 
<news titre="le prix des oeufs a augmenté" lien="mon_lien" />
 
et tu récupère tout ça comme tu sais déjà faire ;)

Reply

Marsh Posté le 14-10-2005 à 23:01:36    

merci d'avoir répondu Remizz, mais malgré tes explications je n'y arrive toujour pas... :??:  
voici mon fichier xml, je voudrait que l'on puisse clicker sur l'adresse "www.myspace.com/lesenfantsduparadis"
pourrais tu m'ecrire la ligne correspondante? :ange:
 
<?xml version="1.0" standalone="yes"?>
<news><header>29.09.2005
Bookmark the band's official new myspace area, with 3 song samples online: www.myspace.com/lesenfantsduparadis
17.09.2005  
Guitarist Nelson Martins officially joins Les Enfants du Paradis.
15.09.2005  
Now available online, two song samples:  Lost and The Everlasting,   Click the MUSIC page.
28.08.2005
Bassist Briac performs with pop singer Emma Daumas at a concert in Avignon, France.
06.08.2005
The band in the studio this week recording drums and guitars in the Studio A at Capitol Studios Paris.
21.06.2005
Jon and Briac complete the final mix of Lost at Capitol Studios Paris, the track may be made available online soon.
 
 </header>
 <content>
</content>  
</news>
 
merci d'avance!

Reply

Marsh Posté le 15-10-2005 à 11:01:33    

ah ok ! Ton adresse n'est pas seule dans la balise.
 
Dans ce cas, il faudrait ajouter directement la balise <a href="www.myspace.com/lesenfantsduparadis ">www.myspace.com/lesenfantsduparadis </a> dans ton XML, mais ça va poser problème, je crois qu'il faut que XML comprenne que ça n'est pas une balise à prendre en compte comme telle, mais comme des caractères normaux.
 
J'avais vu ça dans la doc XML si je me souviens bien, mais il faudrait que je recherche.
 
Sinon tu as la solution de refaire l'architecture de ton xml du style

Code :
  1. <racine>
  2. <news date="29.09.2005" lien="www.myspace.com/lesenfantsduparadis ">Bookmark the band's official new myspace area, with 3 song samples online</news>
  3. ...


et tu répète celui-ci autant de fois que tu as des news. Cela te permettra plus de fantaisies dans flash (comme dupliquer un clip "type" affichant une news autant de fois qu'il y a de news...)
 
voila


Message édité par remizz le 15-10-2005 à 11:01:50
Reply

Marsh Posté le 15-10-2005 à 15:15:04    

merci d'avoir pris le temps de répondre!
 
je me trouve toujours coincé...
 je dois afficher du text dans deux cadre sur mon animation, et pour l'instant le premier cadre a pour var "header" et l'autre "content",
comment specifier a ce moment là au fichier xml quel parite de text va dans quel cadre? :??:  :??:  
désolé, je n'y comprends pas grand chose

Reply

Marsh Posté le 15-10-2005 à 16:15:13    

Bon déjà pour te pencher en détail sur la lecture des fichiers XML avec flash : un bon vieux tuto :D  
 


Pour ce qui est de ton code en particulier, ton parsion XML va devoir tout simplement aller chercher le contenu de la balise header, et le contenu de la balise content :
 

Code :
  1. var mon_xml = new XML();
  2. mon_xml.ignorewhite=true;
  3. mon_xml.onload=function(succes)
  4. {
  5. if(succes)
  6. {
  7. // on parse le xml
  8.   var noeud = this.firstChild.childNodes;
  9.   header=noeud[0].attributes.texte;
  10.   content = noeud[1].attributes.texte;
  11. }
  12. }
  13. mon_xml.load(mon_fichier_xml.xml);


 
voilà, donc ton xml sera du genre  

Code :
  1. <racine>
  2. <header texte="gnagnagna" />
  3. <content texte = "gnagnagna" />
  4. </racine>


 
Comme tu le vois, dans mon parsing XML dans flash, je déclare une variable pour chaque donnée qui m'intéresse : ici le contenu de l'attribut "texte" de la balise "header" (le premier noeud, donc numéroté 0) et la même chose pour la balise "content" (numéroté 1).
 
Mais lit d'abord bien les 2 tutos que je t'ai filé, tu comprendras ensuite très bien ce qui suit ;)

Reply

Marsh Posté le 16-10-2005 à 22:06:37    

bon... j'ai passé mon samedi soir et tout mon dimanche a chercher, je comprends mieux les histoires d'architecture, mais ça marche toujours pas... Et pourtant je vois que tu te décarcasse...
le plus bizarre c'est que j'ai l'impression d'etre le seul a vouloir faire ça, personne ne poste de demande du genre... je vais continuer a chercher, merci en tous cas de ton aide, si jamais te viens a l'idée une solution, n'hesite surtout pas!!
merci encore!!!

Reply

Marsh Posté le 17-10-2005 à 13:27:10    

c'est vrai que le parsing XML avec flash n'est pas forcément très utilisé, par rapport aux simple fichiers textes.
 
Sinon, mets ton .fla en ligne, je regarderais et je te dirais où ça coince ;)

Reply

Marsh Posté le 17-10-2005 à 15:54:45    

remizz a écrit :

c'est vrai que le parsing XML avec flash n'est pas forcément très utilisé, par rapport aux simple fichiers textes.


 :??: alors j'ai besoin d'une petite explication... je pourrai faire une mise a jour du site simplement avec un fichier texte? (et cela marcherait il pour les images?)...
merci infiniment pour ton aide, c'est vraiment pas evident quand on ne peut pas payer quelqu'un pour faire un site...je l'ai mis en ligne ( est ce cela que tu proposais?) voici l'adresse:
www.lesenfantsduparadis.net/site/thesite.html
c'est absolument pas terminé, donc j'espere que tu ne galereras pas trop au niveau du download...

Reply

Marsh Posté le 17-10-2005 à 16:29:51    

Oui en fait, en y pensant, ça pourrait être bien plus simple pour toi d'utiliser des fichier texte (.txt) au lieu de XML.
 
voici comment doit être écrit ton fichier texte
 

Code :
  1. &header=le texte de mon header avec une balise de lien par exemple <a href="http://www.monlien.com">mon lien</a>&content=le contenu de cette variable etc etc&


 
Comme tu le vois, il suffit de mettre un "&" avant chaque nouvelle variable, puis un "=" après le nom de la variable, et de tapper tout le texte que l'on veut.
Ensuite, (fait ce fichier avec notepad), il faut enregistrer ce texte en UTF-8 de préférence (dans la boite de dialogue "enregistrer sous" ).
 
Et dans flash, pour charger ce fichier, il faut insérer la ligne suivante :
 

Code :
  1. loadVariables("monfichier.txt" );


 
pour les images, tu peux par exemple te faire un fichier "image.txt" ainsi :
&image1=mon_image1.jpg&image2=mon_image2.jpg& etc...
 
ensuite tu charges ce fichier dans flash et tu charges les images dont le nom a été récupéré, dans un clip vide, avec un loadMovie(image,clip_cible)
 
 
voilà, si ce n'est pas assez clair, dis le moi ;)

Reply

Marsh Posté le 17-10-2005 à 16:29:51   

Reply

Marsh Posté le 17-10-2005 à 19:47:21    

Re!!!
merci pour la réponse!! seulement quand je fais un preview ds flash, y a rien!
en recherchant un peu sur le net, j'ai rajouté ça à la ligne de code flash: loadVariables("monfichier.txt","" );  
et là le texte apparait!
mais le liens clickable ne marche pas...
voici ce que j'ai ecrit dans textedit :
 
&header=Bookmark the band's official new myspace area, with 3 song samples online:<a href="http://www.myspace.com/lesenfantsduparadis "> myspace</a>
 
je l'ai enregistré en utf8,
 
dans ma page flash, sur l'image clé sur laquelle j'ai ecrit le code, j'ai fait une fenetre de texte dynamique, avec comme variable specifiée header.
 
voila ce qui apparait quand je lance le preview:
 
Bookmark the band's official new myspace area, with 3 song samples online:<a href="http://www.myspace.com/lesenfantsduparadis "> myspace</a>
 
qu'ai je fait de mauvais? ou est ce que ça peche?
 

Reply

Marsh Posté le 17-10-2005 à 20:24:13    

ah oui, j'ai oublié de te dire de rendre ton champ de texte compatible html. Pour ceci, tu le sélectionnes, et dans le panneau de propriété, en bas, tu active le bouton qui symbolise une balise html (<> ). Normalement ça devrait marcher.

Reply

Marsh Posté le 19-10-2005 à 09:48:56    

yes!! ça marche!!! :)))
le seul truc qui merdouille encore c'est que j'aurai voulu que le lien change de couleur quand on passe dessus avec la souris, mais c'est déjà tellement bien!!!!
un énorme merci a toi pour ta gentillesse, ta patience et tes explications!!!

Reply

Marsh Posté le 19-10-2005 à 10:38:01    

pour le changement de couleur, je ne vois pas :D, mais sinon, essaye de mettre des balises <b></b> autour de ton lien pour lui donner de l'importance.
 
(je crois que les balise <font> ne sont pas pris en charge par flash, mais essaye toujours)

Reply

Marsh Posté le 19-10-2005 à 11:28:33    

heuu.. dis, j'essaie en ce moment pour les images, j'ai du mal a comprendre exactement...
j'ai fait mon fichier txt "image.txt" comme tu le disais, mais apres c'est la que ça se complique; je charge le fichier txt sur une image clé, avec le code loadvariables("image.txt" ), j'imagine que sur la meme image clé, je mets mon clip vide et qu'a la suite du code loadvariables, je tape loadmovie ("image1", "clipvide" )  ?
mais ça ne marche pas...
any idea?

Reply

Marsh Posté le 19-10-2005 à 13:15:34    

voilà, mais est-ce que tu as bien nommé ton clip en occurence ? (tu clic sur ton clip et tu regarde dans le panneau de propriété en bas à gauche, il y a la case "nom d'occurence". C'est le nom que tu va mettre dans cette case qu'il faudra que tu spécifie dans ta fonction loadMovie("image1","clip" );

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed