lundi 29 janvier 2007
posté par Christophe à 22:50

Widget / Gadgets et Cie

vu 2505 fois, followers=1
Je viens de désactiver le widget car le script sur le serveur qu'il utilisait était obsolète.

Pour tous les développeurs, sachez que vous pouvez chopper directement les horaires sur un flux XML sur le site, et donc faire un Widget pour Dashboard, un Gadget Vista, ou encore un module Google Netvibes etc.

Il suffit de connaître un peu AJAX. Exemple d'implémentation sur les fiches et la grille.

HTML :

<TABLE CELLSPACING="0" id="horaires">
<TR>
<TD id="j0" class="pair"></TD>
<TD id="j1" class="impair"></TD>
<TD id="j2" class="pair"></TD>
<TD id="j3" class="impair"></TD>
<TD id="j4" class="pair"></TD>
<TD id="j5" class="impair"></TD>
<TD id="j6" class="pair"></TD>
</TR>

<TR>
<TD id="h0" class="pair"></TD>
<TD id="h1" class="impair"></TD>
<TD id="h2" class="pair"></TD>
<TD id="h3" class="impair"></TD>
<TD id="h4" class="pair"></TD>
<TD id="h5" class="impair"></TD>
<TD id="h6" class="pair"></TD>
</TR>
</TABLE>
<script>
<!--
setTimeout("chargerHoraires('halles')", 500);
//-->
</script>


Et code javascript à mettre dans le header (ou fichier séparé) :


function chargerHoraires(id_piscine) {
var req = null;
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else {
if (window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {}
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}

req.onreadystatechange = function() {
if (req.readyState == 4) {
if(req.status == 200 || true) {
var doc = req.responseXML;

var piscines = doc.getElementsByTagName('piscine');

// on insere les horaires
for(j=0;j<7;j++) {
jour = piscines[0].getElementsByTagName('jour')[j];
id_periode = jour.attributes.getNamedItem('id_periode').nodeValue;
horaires = jour.getElementsByTagName('horaires')[0].firstChild.data;



document.getElementById('j'+(j)).innerHTML = '<a href="#">'+doc.getElementsByTagName('date')[j].firstChild.data+'</a>[<a href="/horaires.cgi?tout_consulter=1&id_piscine='+id_piscine+'&id_periode='+id_periode+'&id_activite=1" title="Voir l\'historique des horaires">maj</a>]';

document.getElementById('h'+(j)).innerHTML = horaires;
}

} else {
// erreur
}
}
};

req.open('GET', 'https://www.nageurs.com/xmlhoraires.cg... true);
req.send(null);

}

à télécharger ici : https://www.nageurs.com/js/chargerHora...


Le fichier XML contient aussi le nom de la piscine, l'adresse, etc. Possibilité de charger plusieurs fiches dans le même fichier XML (voir la grille).

Courage, n'hésitez pas à utiliser les bulles, et le logo pour décorer vos création ! Et à nous en faire profiter


À bientôt, et si vous avez besoin d'aide ou d'ajout de fonctionnalités au niveau des fichiers XML, envoyez moi un mail !

Christophe

0 commentaire

 

 

Répondre au message


Votre pseudo
Votre email
Sujet :
Message

 

 

Précédent | Retour | Suivant