|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : février 2011 Messages : 8 ![]() |
Bonjour à tous.
Je débute en xml et n'est que peu d'expérience en php. Je souhaite changer dynamiquement l'intitulé des continents d'une carte intéractive codée en xml. Voici le fichier xml de départ Code :
Code :
|
||||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : mars 2007 Messages : 112 ![]() |
Marrant, j'ai déjà du générer des fichiers xml pour AMMAP.
Qu'est ce qui ne fonctionne pas exactement? As-tu essayé d'afficher ton fichier xml simplement dans ton navigateur? |
|
|
00
|
|
|
#3 | ||||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Hello
Tu sais que tu peux toujours faire ça en PHP: Code :
et tu l'appelles comme ça: Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||||
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 8 ![]() |
J'étais sur le point de vous répondre (un truc incompréhensible et incompris) quand quelquechose a fait tilt. Le fichier text.XML.php dont parle Benjamin Delespierres. Je n'avais mis le .xml.
Merci à vous deux en tout cas, et restez à l'écoute, je risque d'avoir besoin de vous rapidement et intensivement Merci encore ! |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 8 ![]() |
Dolu02 j'aurais encore une question pour toi (tu n'aurais jamais dû dire que tu connaissias ammap
). Comment fait-on pour envoyer des variables php dans les fichiers amma_data_africa, amma_data_europe...? D'ailleurs, ces fichiers sont quasiment identiques, et listent les pays de tous les continents, ça ne fait pas un peu double (enfin sextuple) emploi ? Il n'ya pas moyen de simplifier tout ça avec du php ? Ca fait beaucoup de questions désolé ^^Merci d'avance. |
|
|
00
|
|
|
#6 | ||
|
Membre régulier
![]() Inscription : mars 2007 Messages : 112 ![]() |
Moi je n'ai travaillé qu'avec une seule carte du monde.
Mais à mon avis, tu peux travailler avec un seul fichier de données qui sera utilisé par toutes tes cartes. Lors de l'appel de tes cartes tu peux spécifier le fichier de settings et le fichier data : Code :
Ensuite la carte de chaque continent ira piocher dans les pays qui le concernent. J'espère que ça pourra t'aider pour la suite! |
||
|
|
00
|
|
|
#7 | ||||
|
Invité de passage
![]() Inscription : février 2011 Messages : 8 ![]() |
Merci de ta réponse.
Ca en fait je l'avais déjà fait. Mais un truc me titille, les fichiers de chaque continent sont en tous points identiques, à l'exception du zoom. Bref, la solution que j'ai retenue est la suivante. Je crée des fichiers ammap_data_africa.xml.php etc... qui appellent le fichier xml de départ ainsi qu'une fonction de parsage qui cherche chaque title pour le modifier en fonction d'une bas de données. Dans le code ci dessous j'ai zappé la base de données pour faire un truc statique, histoire de simplifier, mais l'erreur reste la même, j'en déduis qu'a priori, mon fichier php est correct. Donc, voici ammap_data_africa.xml.php : Code :
Code :
Merci d'avance pour ta (ou vos) réponse. |
||||
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() Inscription : mars 2007 Messages : 112 ![]() |
Chez moi, dans le(s) fichier(s) data, l'élément <map> est la racine du document et dans lequel se trouvent des <area> pour chaque pays.
Si je comprends bien tu essaie de changer le nom du pays? Sinon, il y a plus simple : Dans le dossier ammap_data_africa.xml, tu insères des "tokens", par exemple [MNO-PAYS-1], [MON-PAYS-2] etc... Ensuite au lieu de jouer avec simplexml, tu fais un str_replace sur tes toeks et tu renvoies le tout. |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 8 ![]() |
Hmm Hmm, mais euh, c'est quoi un token exactement ? Et le str_replace s'utilise en php ? Dans le parsage ? OMG je vais jamais m'en sortir :/
Hmm ok je crois que je vois le genre. Le problème, c'est que cdata est une balise, si je me trompe pas. Or le truc que je veux changer est uniquement le title d'une autre balise, et il ne semble pas apprécier une balise cdata à l'intérieur d'une autre (les balises <area> en l'occurence). Je pourrais mettre celle-ci entière dans cdata, mais après il faudrait ne changer que le title... En utilisant les expréssions régulières en php peut-être...
|
|
|
00
|
|
|
#10 | ||||||
|
Membre régulier
![]() Inscription : mars 2007 Messages : 112 ![]() |
Disons que tu pars de ce fichier
Code :
Donc quelquechose du genre : Code :
C'est juste une idée, c'est à adapter en focntion de tes besoins. Les CDATA servent à mettre du texte dans le fichier xml : Code :
|
||||||
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 8 ![]() |
OK j'ai fait un truc dans le genre, sans utiliser des pseudo-variables du genre TITLE-1. Donc maintenant, si je lance mon fichier ammap_data_africa.xml.php seul, il fonctionne. Si je l'appelle via ammap_data.xml.php, là il boude.
Ca me sort "Un seul élément de niveau supérieur est autorisé dans un document XML." j'en conclut donc qu'il y a plusieurs balises <map> en sortie. Là où je ne comprends pas, c'est que le fichier ammap_data_africa est appelé par ammap_data, auquel je n'ai pas touché ! Le php que j'utilise dans ammap_data.xml.php n'influe pas directement sur ammap_data, il calcule juste des variables de sorties utilisées dans ammap_data_africa.xml.php. Y a-t-il un moyen de voir le xml généré par php ? Le source de la page (qui bug, donc) n'est pas disponible. |
|
|
00
|
|
|
#12 | |
|
Membre régulier
![]() Inscription : mars 2007 Messages : 112 ![]() |
Citation:
Sinon il est possible de voir ça en utilisant un webdebugger de type Fiddler lorsque tu lance ta map, ou alors HttpFox (ou autre) dans Firefox. |
|
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 8 ![]() |
Ah bah oui, je vois le code de ma page. Y'a dû y avoir un bug la dernière fois.
Mais bon, j'utilise des frames (mouais, mes profs datent de la guerre de 14) donc en source je vois que le frameset. Je bidouille mes fichiers pour faire correler tout ça, et je re-post PS : Avant de continuer, faudra m'indiquer le montant de tes honoraires xD En tout cas merci beaucoup pour ton aide. |
|
|
00
|
|
|
#14 |
|
Membre régulier
![]() Inscription : mars 2007 Messages : 112 ![]() |
Avec le module Webdevelopper de Firefox, tu peux afficher la source d'une frame :
Click droit -> Webdevelopper -> voir source -> voir code source du cadre. Pour les honoraires, je suis peut-être un peu cher alors un fera l'affaire! |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 8 ![]() |
C'est bon ! J'ai réussi à modifier l'intitulé des pays dans ammap. Bon, mon sql foire et mes title affichent tous 0%. Pour un site de statistiques, c'est dommage :p. Mais ça c'est une autre histoire...
Donc voilà, merci bien pour ton aide précieuse !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com