Las palabras clave en los artículos

Volvamos a nuestros artículos... Ahora vamos a aprovechar las palabras clave para determinar la o las máquinas a las que se refiere, para después gestionar «inteligentemente» los enlaces hacia el resto de artículos relativos al mismo juego.

Las máquinas

Es muy sencillo indicar qué máquinas están relacionadas: se trata de una simple aplicación del bucle (MOTS). Introducimos el siguiente bucle en el artículo (por ejemplo, entre el #SOUSTITRE y la #DATE):

<BOUCLE_machines(MOTS){id_article}{type=Machines}>
	[(#LOGO_MOT|left)]
	</BOUCLE_machines>

Sólo mostraremos el logo de la máquina. (Evidentemente, una vez terminado todo el proceso de creación de los bucles, sería conveniente retocar la interfaz gráfica...)

En la misma sección, sobre el mismo juego

Tampoco es mucho más complicado mostrar el resto de artículos que contiene la misma sección.

Comenzamos por modificar la llamada del BOUCLE_principale con un {doublons}, para evitar que luego se cree un enlace hacia el artículo que ya se está viendo (esto no es que sea malo; pero no queda demasiado bien):

<BOUCLE_principale(ARTICLES){id_article}{doublons}>

Ahora podríamos contentarnos simplemente con recuperar todos los artículos de la misma sección (simplemente, con un bucle (ARTICLES){id_rubrique}{doublons}). Sin embargo, aquí queremos diferenciar claramente los tipos de artículo, no solamente para tener una interfaz más clara, sino también para poder realizar enlaces y presentaciones diferentes según el caso.

Comencemos por un bucle para las otras pruebas del mismo juego. Siempre insertaremos este bucle dentro del BOUCLE_principale; por ejemplo justo después de #NOTES.

<B_tests><p>Otras pruebas de este juego:
	<ul>
	<BOUCLE_tests(ARTICLES){id_rubrique}{titre_mot=Test}{doublons}>
		<li><a href="#URL_ARTICLE">#TITRE</a>
	</BOUCLE_tests>
	</ul>
	</B_tests>

(Para comprobar el funcionamiento de este bucle, crea varios artículos de tipo «Test» en la misma sección. Incluso puedes atribuirles máquinas diferentes: un test de la versión PC, un test de la versión Dreamcast, un test de la versión Playstation...)

Como puedes constatar, es muy sencillo:
-  se llama a los (ARTICLES) según el criterio {id_rubrique} (es decir los artículos pertenecientes a la misma sección);
-  se añade la restricción siguiente: el título de una de las palabras clave asignadas a estos artículos debe ser «Test» (nota aquí lo importante que es respetar la elección inicial del nombre de la palabra clave, y no modificarla después);
-  el criterio {doublons} evita que se vea de nuevo el artículo principal.

Los textos opcionales anterior y posterior (los <ul>...</ul>) sólo sirven para la presentación gráfica.

N.B. Este bucle utiliza una característica introducida en la versión SPIP 1.3: en un bucle (ARTICLES), puedes seleccionar los artículos según el título de una palabra clave (con el criterio titre_mot), o según un grupo de palabras (criterio type_mot).

Sin embargo, este bucle no es suficiente: debido a que se trata de pruebas del mismo juego, pero en distintas máquinas, es necesario indicar a qué máquina se refiere. Basta con añadir un bucle de palabras (como el de más abajo) dentro de este BOUCLE_tests y mostrar los logos correspondientes. De paso, añadimos la fecha de publicación del artículo.

El código pasa a ser:

<B_tests><p>Otras 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>

Lo mismo se hace para los previos, las soluciones y los trucos:

<B_previews><p>Los análisis 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>

(Estos tres bucles funcionan exactamente de la misma forma que el BOUCLE_tests.)

Faltan las noticias... Aquí vamos a proceder de forma muy diferente. Como las noticias generalmente son una información «corta» (anuncio de un retraso, rumores...), será ventajoso presentarlas todas reunidas en una misma página (es posible que no; pero, por necesidades de este tutorial, digamos que es mejor).

Este trocito de código se encargará del asunto:

<BOUCLE_news(ARTICLES){id_rubrique}{titre_mot=News}{doublons}{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>

El truco que permite obtener un código tan corto:
-  para empezar, no nos importa a qué máquina se refiere; así se suprime un bucle;
-  el BOUCLE_news recupera el último artículo ({par date}{inverse}{0,1}) asociado con la palabra clave «News». Un sólo artículo, es más que suficiente para saber si hay una página dedicada a las noticias; y cuando se recupera la noticia más reciente, mostrar su fecha equivale a anunciar la «última actualización» de la página de las noticias...

De manera más elegante, se hubiese podido realizar un BOUCLE_news vacío e insertar el enlace de hipertexto en el texto opcional del bucle.

Importante: el enlace de hipertexto apunta hacia una página «news_jeu.php3», con la id_rubrique de la sección actual. A continuación tendremos que crear el esqueleto correspondiente.

Los juego de la misma categoría

Para terminar, queremos mostrar los juego de la misma categoría (por ejemplo, los otros juego del género «Survival horror»).

Para empezar, vamos a utilizar el método que consiste en «subir un paso» (para pasar de la sección del artículo a la sección de la categoría de este juego). Luego vamos a recuperar el método utilizado en las secciones para mostrar por separado las secciones que contengan artículos (es decir las secciones directamente dedicadas a un juego).

El código es:

<BOUCLE_rub_act(RUBRIQUES){id_rubrique}{doublons}>
		<BOUCLE_jeux(RUBRIQUES){meme_parent}{doublons}{par date}{inverse}>
			<B_avec_articles>
			<h4><a href="#URL_RUBRIQUE">#TITRE</a></h4>
			<BOUCLE_avec_articles(ARTICLES){id_rubrique}{age < 90}>
			</BOUCLE_avec_articles>
		</BOUCLE_jeux>
	</BOUCLE_rub_act>

Las sutilezas de este código:
-  el BOUCLE_rub_act (que devuelve la sección actual) contiene un {doublons} para evitar que ahora se vea el juego principal;
-  lógicamente, el BOUCLE_jeux contiene también un {doublons}; cuidado: multiplicar los criterios doublons puede crear dificultades. Si duplicas estos bucles en la misma página para otro uso, ten cuidado de evitar este criterio;
-  el BOUCLE_avec_articles sólo recupera artículos con una antigüedad menor de 3 meses (90 días). Efectivamente, aquí no queremos mostrar todos los juegos de la misma categoría, sino sólo los que se han modificado recientemente.

Autor o autora Xuacu Publicado el: Actualizado: 26/10/12

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