PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#1 05/03/2013 11:28:41

Tibawbaw
Membre
Lieu : Somain (près de Lille)
Inscription : 27/02/2013
Messages : 55
Site Web

Afficher les évènements du jour

Bonjour,

Je voulais partager un petit dev que j'ai fait pour mon site. Les développeurs chevronnés trouveront que c'est hyper basique (et ça l'est !) mais ça me tenait à coeur de le faire tout seul comme un grand, et comme j'ai réussi, je vous montre le résultat, peut être que ça pourra servir à quelqu'un d'aussi peu doué que moi  tongue


Le but était d'afficher chaque jour une liste d'évènements "anniversaires" correspondant à la date du jour.


Exemple, le 11 mars, affichage de "Joyeux anniversaire Tibawbaw !"  big_smile


Pour celà, j'ai créé un fichier XML, que j'ai divisé en mois, puis en jours (pour deux raisons : la rapidité de l'affichage et la lisibilité du fichier XML) :

[== XML ==]
<?xml version="1.0" encoding="utf-8" ?>
<evenements>
	<evemois mois="3">
		<evejour jour="04">&lt;b&gt;1963&lt;/b&gt; : naissance de &lt;b&gt;Jason Newsted&lt;/b&gt; (bassiste de &lt;b&gt;Metallica&lt;/b&gt; de 1987 à 2001)</evejour>
		<evejour jour="04">&lt;b&gt;1975&lt;/b&gt; : naissance de &lt;b&gt;Hawksley Workman&lt;/b&gt; (auteur, compositeur, chanteur et guitariste de pop/glam-rock)</evejour>
		
		<evejour jour="05">&lt;b&gt;1970&lt;/b&gt; : naissance de &lt;b&gt;John Frusciante&lt;/b&gt; (guitariste des &lt;b&gt;Red hot Chili Peppers&lt;/b&gt;)</evejour>
		<evejour jour="05">&lt;b&gt;1946&lt;/b&gt; : naissance de &lt;b&gt;David Gilmour&lt;/b&gt; (chanteur et guitariste de &lt;b&gt;Pink Floyd&lt;/b&gt;)</evejour>
	</evemois>
</evenements>

Ici pour le mois de mars, j'ai donc 2 évènements pour le 4 mars et 2 évènements pour le 5 mars.
Les codes "&lt;" et "&gt;" correspondent à "<" et ">", pour le formatage HTML (donc &lt;b&gt; donnera <b>).


Ensuite, j'ai fait une petite page PHP qui va m'afficher uniquement les évènements de la date du jour :

[== PHP ==]
<?php
  $dom = new DomDocument; 										//Nouveau document DOM
  $dom->load(dirname(__FILE__)."/evenements.xml");				//Ouverture du fichier XML
  $moisActuel = date("m"); 										//Numéro du mois actuel format MM
  $jourActuel = date("d");  									//Numéro du jour actuel format DD 

  echo $m . $d;		
	
  $listeMois = $dom->getElementsByTagName("evemois"); 			//On récupère les différents mois présents dans le fichier XML
  foreach($listeMois as $mois) 									//On parcourt les mois à la recherche du mois actuel
  {
    $moisEvenement = $mois->getAttribute("mois");				//On récupère le mois de la boucle
    if ($moisEvenement == $moisActuel ) 						//On compare avec le mois actuel
		{														//On est dans le bon mois, recherche du jour
		$listeJour = $mois->getElementsByTagName("evejour");	//On récupère les différents jours pour le mois dans lequel on se trouve
		$compteur = 1;
		echo  "<ul style=\"text-align: justify;\">";
		foreach($listeJour as $jour)							//On parcourt les jours à la recherche du jour actuel
		{
			$jourEvenement = $jour->getAttribute("jour");		//On récupère le jour de la boucle
			if ($jourEvenement == $jourActuel ) 				//On compare avec le jour actuel
			{													//On est dans le bon jour
				echo  "<li>" . $jour->nodeValue . "</li>";				//On affiche la valeur du noeud XML correspondant au mois et au jour actuel
			}
		}
		echo  "</ul>";
    }
  }  
?> 


Le résultat est le suivant : Affichage des évènements du jour


Pour l'intégrer dans ma sidebar, j'ai simplement inséré la page PHP avec le bout de code suivant :

[== PHP ==]
<?php include(dirname(__FILE__).'/evenements.php'); # On insere la lecture du fichier XML evenements ?>

Et le résultat quand le tout est intégré dans le site, visible sur rock-anecdotes.fr


Voilà, ce n'est pas grand chose, et je pense que la méthode DomDocument n'est pas celle utilisée par PluXML (mais c'est ce qui m'a paru le plus simple dans mon cas).

N'hésitez pas à commenter si vous trouvez que le code est améliorable, et à l'utiliser si vous en avez une quelconque utilité...


Thibaut, qui essaie vainement de contribuer à la communauté  wink


Envie de découvrir la musique Rock sous un nouvel angle ? Venez visiter mon site : Rock Anecdotes  smile

Hors ligne

#2 05/03/2013 12:14:44

danielsan
Membre
Lieu : Montpellier
Inscription : 18/07/2011
Messages : 1 274

Re : Afficher les évènements du jour

c'est simple et efficace ... sauf pour modifier le fichier wink
si tu crées un champ date dans un article (avec le plugin champArt), tu peux obtenir ce genre de résultat : venez nous rencontrer.


L'info est classée selon la date de l’évènement.
Et l'on peut mettre plus de contenu tout en profitant des fonctionnalités de PluXml. wink
Chaque info est article classé dans une catégorie.


Que l'inspiration soit avec vous, à jamais !

Hors ligne

#3 05/03/2013 12:23:30

Francis
Membre
Inscription : 19/11/2011
Messages : 407
Site Web

Re : Afficher les évènements du jour

Merci pour cette méthode. Finalement, le plus compliqué dans l'histoire, c'est de remplir le ficher XML pour les 365 jours de l'année !
Juste une remarque - tu vas me dire que je chipote un peu - on pourrait mettre <strong> au lieu de <b> comme balise (même si le HTML5 accepte à nouveau la balise <b>, c'est en principe sans la notion de "mise en relief" du texte).


Ce programme a un autre intérêt, c'est qu'il donne un exemple simple pour lire le contenu d'un fichier XML (il y a tellement de méthodes pour faire ça, je ne sais jamais laquelle utiliser !).

Hors ligne

#4 05/03/2013 13:04:35

Tibawbaw
Membre
Lieu : Somain (près de Lille)
Inscription : 27/02/2013
Messages : 55
Site Web

Re : Afficher les évènements du jour

danielsan a écrit :

si tu crées un champ date dans un article (avec le plugin champArt), tu peux obtenir ce genre de résultat : venez nous rencontrer.


L'info est classée selon la date de l’évènement.
Et l'on peut mettre plus de contenu tout en profitant des fonctionnalités de PluXml. wink
Chaque info est article classé dans une catégorie.

Je ne pense pas que ça marcherait dans mon cas. Le but est d'afficher tous les ans les mêmes évènements passés (genre "que s'est il passé à la même date il y a 30 ans").

Le but est de fournir un gros travail en amont pour remplir le fichier XML avec tous les évènements, puis de le laisser faire son travail, en bouclant dessus tous les ans...


Envie de découvrir la musique Rock sous un nouvel angle ? Venez visiter mon site : Rock Anecdotes  smile

Hors ligne

#5 05/03/2013 14:10:32

philou87
Membre
Lieu : Limoges
Inscription : 19/01/2013
Messages : 53
Site Web

Re : Afficher les évènements du jour

@Tibawbaw

Félicitation très beau site et beau tuto (que je testerai à l'ocasion, je le mets en marque page)
Je suis moi même un fan des seventies (en même temps c'ètait toute ma jeunesse)
j'ai vu Led Zep (in england) en 1979 et c'était déja le dernier concert.

bel avatar aussi; c'est l'ocasion de te demander (si tu veux bien)
quelle technique emploie tu pour obtenir l'effet( roue deux couleurs, jaune/violet en background de l'avatar)
c'est quelque chose que je voudrais faire depuis un moment.

@Daniel San
bel exemple mais on manque d'infos avec champart comme je disais avant, on sent bien qu'on peux faire beaucoup avec mais...
Je comprend pas pourquoi il y a un si grand espace au dessus du header du site "piscine" ?

Merci A+

Dernière modification par philou87 (05/03/2013 14:11:40)

Hors ligne

#6 05/03/2013 14:16:01

Tibawbaw
Membre
Lieu : Somain (près de Lille)
Inscription : 27/02/2013
Messages : 55
Site Web

Re : Afficher les évènements du jour

@philou87 : Je ne sais plus exactement comment j'ai fait, mais je dois encore avoir le fichier photoshop qui traine quelque part, je regarderai ça chez moi ce soir :-) Mais de souvenir, je l'avais fait de façon artisanale, je ne suis pas non plus un grand photoshopeur ;-)

Merci en tout cas pour le site... Bon, pour le design, il n'est pas de moi, même si j'ai ajouté par-ci par-là quelques modifications...

En tout cas, content que mes petites explications aient pu (ou pourront) aider quelqu'un ! Ca ne sera pas inutile, ça me fait plaisir !


Envie de découvrir la musique Rock sous un nouvel angle ? Venez visiter mon site : Rock Anecdotes  smile

Hors ligne

#7 05/03/2013 22:59:07

danielsan
Membre
Lieu : Montpellier
Inscription : 18/07/2011
Messages : 1 274

Re : Afficher les évènements du jour

@Tibawaw : une fois que tu as la date et l'évènement, tu peux afficher en fonction de l'année, du mois, du jour ...
L'avantage d'utiliser les articles est que déjà tu as du contenu différent indexé dans les moteurs de recherche (et c'est plutôt cool pour le référencement) mais aussi de compléter l'info liée à l'entrée (bio de l'artiste, photos etc ... )

@philou87 : va savoir les attentes des clients ...
je ne comprends pas quand tu dis qu'il manque des infos ...


Que l'inspiration soit avec vous, à jamais !

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2017 PluXml.org, tous droits réservés