Les paraules clau en els articles

Tornem als nostres articles... Ara aprofitarem les paraules clau per a determinar la o les màquines a les que fa referència, per gestionar després «de manera intel·ligent» els enllaços cap a la resta d’articles relatius al mateix joc.

Les màquines

És molt senzill indicar quines màquines estan relacionades: es tracta d’una simple aplicació del bucle (MOTS). Inserim el següent bucle a l’article (per exemple, entre el #SOUSTITRE i la #DATE):

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

Només mostrarem el logotip de la màquina. (Evidentment, un cop acabat tot el procés de creació dels bucles, seria convenient acabar del tot la interfície gràfica...)

En la mateixa secció, en quan al mateix joc

Tampoc no és molt més complicat mostrar la resta d’articles que conté la mateixa secció.

Comencem per modificar la crida del BOUCLE_principale amb un {doublons}, per evitar després la creació d’un enllaç cap a l’article que ja s’ha mostrat (això no és que sigui dolent, però no queda massa bé):

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

A partir d’ara podríem acontentar-nos en recuperar tots els articles de la mateixa secció (simplement, amb un bucle (ARTICLES){id_rubrique}{doublons}). No obstant, aquí volem diferenciar clarament els tipus d’article, no només per fer que la interfície sigui més clara, sinó també per a poder realitzar enllaços i presentacions diferents segons els casos.

Comencem per un bucle cap a les altres proves del mateix joc. Inserim aquest bucle sempre a l’interior del BOUCLE_principale; per exemple just després de #NOTES.

	<B_tests><p>Altres proves d'aquest joc:
	<ul>
	<BOUCLE_tests(ARTICLES){id_rubrique}{titre_mot=Test}{doublons}>
		<li><a href="#URL_ARTICLE">#TITRE</a>
	</BOUCLE_tests>
	</ul>
	</B_tests>

(Per comprovar el funcionament d’aquest bucle, emplaceu diversos articles del tipus «Test» dins la mateixa secció. Fins i tot els podeu atribuir màquines diferents - un test de la versió PC, un test de la versió Dreamcast, un test de la versió Playstation...)

Com podeu constatar, és molt simple:
-  es crida als (ARTICLES) segons el criteri {id_rubrique} (és a dir, els articles que pertanyen a la mateixa secció);
-  s’hi afegeix la restricció següent: el títol d’una de les paraules clau adjuntades articles ha de ser «Test» (fixeu-vos aquí en la importància de respectar l’elecció inicial del nom de la paraula clau, i no modificar-la després);
-  el criteri {doublons} prohibeix mostrar altre cop l’article principal.

Els texts opcionals abans i després (els <ul>...</ul>) només serveixen per a la presentació gràfica.

N.B. Aquest bucle utilitza una funcionalitat introduïda en la versió SPIP 1.3: en un bucle (ARTICLES), podeu seleccionar els articles segons el títol d’una paraula clau (amb el criteri titre_mot), o segons un grup de paraules clau (critère type_mot).

No obstant amb aquest bucle no n’hi ha prou: donat que es tracta de tests del mateix joc, però en màquines diferents, necessitem indicar a quina màquina fa referència. N’hi ha prou afegint un bucle de paraules (com més amunt) a l’interior d’aquest BOUCLE_tests i mostrar els logotips corresponents. De passada hi afegim la data de publicació de l’article.

El codi passa a ser:

		<B_tests><p>Les proves d'aquest joc:
	<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>

Farem el mateix per les prèvies, les solucions i les astúcies:

		<B_previews><p>Les anàlisi prèvies d'aquest joc:
	<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>Les solucions d'aquest joc:
	<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>Els trucs i astúcies d'aquest joc:
	<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>

(Aquests tres bucles funcionen exactament de la mateixa manera que el BOUCLE_tests.)

Falten les notícies... Aquí adoptarem un comportament molt diferent. Com que generalment les notícies són informacions «curtes» (anunci d’un retard, rumors...), serà molt més avantatjós presentar-les totes reunides en una mateixa pàgina (pot ser no, però per necessitats d’aquest tutorial, direm que és millor!).

Aquest petit tros de codi farà el fet:

	<BOUCLE_news(ARTICLES){id_rubrique}{titre_mot=News}{doublons}{par date}{inverse}{0,1}>
	<p><a href="news_jeu.php3?id_rubrique=#ID_RUBRIQUE">Les notícies d'aquest joc</a> - última actualització: [(#DATE|affdate)]
	</BOUCLE_news>

L’astúcia que permet obtenir un codi tan curt:
-  per començar, no ens interessa a quina màquina fa referència; d’aquesta manera es suprimeix un bucle;
-  el BOUCLE_news recupera l’últim article ({par date}{inverse}{0,1}) associat a la paraula clau «News». Un únic article, amb això n’hi ha prou per saber si hi ha una pàgina dedicada a les notícies; i recuperant la notícia més recent, mostrar la seva data equival a anunciar la «última actualització» de la pàgina de novetats...

De manera més elegant, hauríem pogut realitzar un BOUCLE_news buit i inserir l’enllaç d’hipertext en el text opcional del bucle.

Important: l’enllaç hipertext apunta cap a una pàgina «news_jeu.php3», amb l’id_rubrique de la secció actual. A continuació haurem de crear l’esquelet corresponent.

Els jocs de la mateixa categoria

Per acabar, volem mostrar els jocs de la mateixa categoria (per exemple, els altres jocs del gènere «Survival horror»).

Per començar, utilitzarem el mètode que consisteix en «pujar un nivell» (per passar de la secció de l’article a la secció de la categoria d’aquest joc). Després recuperarem el mètode utilitzat en les seccions per tal de mostrar per separat les seccions que contenen articles (és a dir, les seccions dedicades directament a un joc).

El codi és:

	<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>

Les subtileses d’aquest codi:
-  el BOUCLE_rub_act (que retorna la secció actual) conté un {doublons} per evitar que es mostri immediatament el joc principal;
-  lògicament, el BOUCLE_jeux conté també un {doublons}; alerta: multiplicar els criteris doublons pot crear dificultats. Si dupliqueu aquests bucles en la mateixa pàgina per un altre ús, tingueu cura d’evitar aquest criteri;
-  el BOUCLE_avec_articles només recupera els articles amb una antiguitat inferior als 3 mesos (90 dies). De fet, no volem mostrar aquí la totalitat dels jocs de la mateixa categoria, sinó només aquells que s’han modificat recentment.

Autor merce Publié le : Mis à jour : 21/03/23

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