Las palabras clave en las secciones

Volvamos al fichero «rubrique.html». Lo habíamos dejado con un malvado BOUCLE_articles, sin interés para nuestro sitio, ya que no clasificaba los artículos por categorías.

La cosa marcha bien: ¡acabamos de programar esa función para los artículos!

Basta, por lo tanto, con copiar y pegar el bloque que nos interesa, insertarlo en lugar del BOUCLE_articles (el cual, por lo tanto, desaparece), y ver si hace falta modificarlo. Esto nos da:

	<BOUCLE_les_articles(RUBRIQUES){id_rubrique}>
		<B_tests><p>Las pruebas de este juego:
		<ul>
		<BOUCLE_tests(ARTICLES){id_rubrique}{titre_mot=Test}>
			<li>
			<BOUCLE_tests_machines(MOTS){id_article}{type=Machines}>
				[(#LOGO_MOT)]
			</BOUCLE_tests_machines>
			<a href="#URL_ARTICLE">#TITRE</a> - [(#DATE|affdate)]
		</BOUCLE_tests>
		</ul>
		</B_tests>
		
		<B_previews><p>Los previos de este juego:
		<ul>
		<BOUCLE_previews(ARTICLES){id_rubrique}{titre_mot=Preview}>
			<li>
			<BOUCLE_previews_machines(MOTS){id_article}{type=Machines}>
				[(#LOGO_MOT)]
			</BOUCLE_previews_machines>
			<a href="#URL_ARTICLE">#TITRE</a> - [(#DATE|affdate)]
		</BOUCLE_previews>
		</ul>
		</B_previews>

		<B_soluces><p>Las soluciones de este juego :
		<ul>
		<BOUCLE_soluces(ARTICLES){id_rubrique}{titre_mot=Soluce}>
			<li>
			<BOUCLE_soluces_machines(MOTS){id_article}{type=Machines}>
				[(#LOGO_MOT)]
			</BOUCLE_soluces_machines>
			<a href="#URL_ARTICLE">#TITRE</a> - [(#DATE|affdate)]
		</BOUCLE_soluces>
		</ul>
		</B_soluces>

		<B_astuces><p>Los trucos y atajos de este juego:
		<ul>
		<BOUCLE_astuces(ARTICLES){id_rubrique}{titre_mot=Astuces}>
			<li>
			<BOUCLE_astuces_machines(MOTS){id_article}{type=Machines}>
				[(#LOGO_MOT)]
			</BOUCLE_astuces_machines>
			<a href="#URL_ARTICLE">#TITRE</a> - [(#DATE|affdate)]
		</BOUCLE_astuces>
		</ul>
		</B_astuces>
		
		<BOUCLE_news(ARTICLES){id_rubrique}{titre_mot=News}{par date}{inverse}{0,1}>
		<p><a href="news_jeu.php3?id_rubrique=#ID_RUBRIQUE">Las noticias de este juego</a> - última actualización: [(#DATE|affdate)]
		</BOUCLE_news>
	</BOUCLE_les_articles>

Las modificaciones aportadas:
-  no hace falta cambiar la llamada a {id_rubrique}, porque ya era en esta sección en lo que nos basamos para los artículos;
-  suprimimos todos los {doublons}, ya que aquí no son de ninguna utilidad (no hay ningún artículo que ya se haya mostrado); por eso no hay que correr el riesgo de tener conflictos con futuros desarrollos de nuestra página si no sirven para nada;
-  el conjunto se instala en un gran BOUCLE_les_articles. ¿Qué hace este bucle? Estrictamente nada: devuelve la sección en la que nos encontramos ya. Pero nos será útil después...

El otro punto debil de nuestra página era el BOUCLE_jeux, en el cual el BOUCLE_avec_articles aprovechaba su paso para mostrar la lista de artículos de la subsección sin ordenar. Claro que lo que acabamos de hacer más arriba es ordenar los artículos de una sección.

Por lo tanto, modifiquemos el BOUCLE_jeux así:

	<BOUCLE_jeux(RUBRIQUES){id_parent}{par titre}>

		<B_avec_articles>
		<h4><a href="#URL_RUBRIQUE">#TITRE</a></h4>
		[(#LOGO_RUBRIQUE|right)]
		<ul>
		<BOUCLE_avec_articles(ARTICLES){id_rubrique}{0,1}>
			<BOUCLE_repeter_articles(boucle_les_articles)></BOUCLE_repeter_articles>
		</BOUCLE_avec_articles>
		</ul>
		</B_avec_articles>
		
	</BOUCLE_jeux>

El BOUCLE_avec_articles ahora se ejecuta una sola vez (sobre un solo artículo), lo que es suficiente para saber si la sección contiene un artículo. Se ve que aparece un BOUCLE_repeter_articles: se trata de un bucle que reproduce exactamente el comportamiento del BOUCLE_les_articles, desde el punto donde se encuentra (es decir que no arranca desde la sección principal, sino desde la subsección). El interés de limitar ahora el BOUCLE_avec_articles a un elemento único está claro: sin este límite, el BOUCLE_rec se ejecutaría tantas veces como artículos haya en la subsección.

Evidentemente, el resultado gráfico de este ejemplo es horroroso: demasiado recargado, poco claro. Digamos que lo interesante era utilizar un «bucle recursivo» en este tutorial...

Autor o autora Xuacu Publicado el: Actualizado: 21/03/23

Traducciones: عربي, català, Español, français, italiano