3
Indiquez l’intérêt que vous portez à cette question
0

Création d’un agenda avec date sur plusieurs mois

Bonjour,

Dans le code ci-dessous, je réalise une première boucle qui me permet d’afficher une seule fois le nom des mois contenant un événément, et de remplir un tableau avec les identifiants des événements affichés.

Ensuite une seconde boucle parcours le tableau d’événements et celle-ci contient une autre boucle qui affiche tous les événements du mois (grâce au critère {mois_relatif_debut=0})

#SET{articledate,#ARRAY{}}
<B_article_date>
	<ul id="dates">
		<BOUCLE_article_date(EVENEMENTS){par date}{id_rubrique}>
			[<li>(#DATE_DEBUT|nom_mois|unique{date})</li>
			#SET{articledate,#GET{articledate}|push{#ID_EVENEMENT}}]
        </BOUCLE_article_date>
	</ul>
</B_article_date>
<B_article_issue>
	<ul id="issues">
		<BOUCLE_article_issue(EVENEMENTS){par date}{id_evenement IN #GET{articledate}}>
			<li id="[(#DATE_DEBUT|nom_mois|unique{issue})]">
				<BOUCLE_annee_relative(EVENEMENTS){par date}{mois_relatif_debut=0}{id_rubrique}>
					<strong>[(#TITRE)]</strong><br />
				</BOUCLE_annee_relative>
			</li>
		</BOUCLE_article_issue>
	</ul>
</B_article_issue>

Ceci fonctionne correctement et donne le résultat suivant :

<ul id="dates">
	<li>janvier</li>
	<li>mars</li>
	<li>avril</li>
</ul>

<ul id="issues">
	<li id="janvier">
		<strong>Samedi 12 janvier</strong><br />
		<strong>Dimanche 19 janvier </strong><br />
		<strong>Du 25 janvier au 12 mars</strong><br />
	</li>
	<li id="mars">
		<strong>Vendredi 15 mars</strong><br />
		<strong>Vendredi 15 mars</strong><br />
		<strong>Samedi 23 mars</strong><br />
	</li>
	<li id="avril">
		<strong>Mercredi 10 avril</strong><br />
		<strong>Du 12 au 18 avril</strong><br />
	</li>
</ul>

Cependant je souhaiterais pouvoir afficher le mois de février, car un événement débute en janvier et se termine en mars, et le mois ne février n’est pas affiché.
De plus il faudrait que l’évenement apparaisse aussi en mars car c’est son mois de fin.

Merci des toutes les idées que vous pourrez m’apporter.