Le parole chiave negli articoli

Ritorniamo ai nostri articoli... Ora sfrutteremo le parole chiave per determinare la o le piattaforme interessate, poi gestire in maniera "intelligente" i link verso gli altri articoli riguardanti lo stesso gioco.

Le piattaforme

Indicare quali piattaforme sono interessate è molto semplice: si tratta di una semplice applicazione del ciclo (MOTS). Inseriamo il ciclo seguente nell’articolo (per esempio tra i segnaposti #SOUSTITRE e #DATE):

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

Visualizziamo solo il logo della piattaforma. (Ovviamente, dopo aver terminato il processo di creazione dei cicli converrà rifinire l’interfaccia grafica...)

Nella stessa rubrica, riguardante lo stesso gioco

Visualizzare gli altri articoli contenuti nella stessa rubrica non è certo più complicato.

Cominciamo modificando la chiamata del ciclo BOUCLE_principale con un criterio {doublons}, per evitare in seguito di creare un link verso l’articolo già mostrato (non sarebbe grave, ma non è nemmeno tanto elegante):

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

Adesso potremmo accontentarci di recuperare tutti gli articoli della medesima rubrica (molto semplicemente, un ciclo (ARTICLES){id_rubrique}{doublons}). Tuttavia, qui vogliamo differenziare chiaramente i tipi di articoli, non solo per rendere l’interfaccia più chiara, ma anche per poter realizzare link e presentazioni diverse a seconda dei casi.

Cominciamo con un ciclo verso gli altri test dello stesso gioco. Inseriamo questo ciclo sempre all’interno del ciclo BOUCLE_principale; per esempio appena dopo il segnaposto #NOTES.

<B_test><p>Altri test su questo gioco:
	<ul>
	<BOUCLE_test(ARTICLES){id_rubrique}{titre_mot=Test}{doublons}>
		<li><a href="#URL_ARTICLE">#TITRE</a>
	</BOUCLE_test>
	</ul>
	</B_test>

(Per verificare il funzionamento di questo ciclo inserite diversi articoli di tipo "Test" nella stessa rubrica. Potete anche attribuire loro piattaforme differenti - un test per la versione PC, un test per la versione Dreamcast, un test per la versione Playstation...)

Come si può constatare è piuttosto semplice:
-  si chiamano gli (ARTICLES) secondo il criterio {id_rubrique} (cioè, gli articoli che appartengono alla stessa rubrica);
-  si aggiunge il limite seguente: il titolo di una delle parole chiave collegate a questi articoli deve essere "Test" (facciamo notare l’importanza di rispettare la scelta iniziale del nome della parola chiave e di non modificarla in seguito);
-  il criterio {doublons} impedisce di visualizzare di nuovo l’articolo principale.

I testi opzionali prima e dopo (i <ul>...</ul>) servono solo alla presentazione grafica.

N.B. Questo ciclo sfrutta una funzionalità introdotta con la versione SPIP 1.3: in un ciclo (ARTICLES) è possibile selezionare gli articoli secondo il titolo di una parola chiave (con il criterio titre_mot), oppure secondo un gruppo di parole chiave (criterio type_mot).

Tuttavia, questo ciclo non è sufficiente: poiché si tratta di test del medesimo gioco ma su piattaforme differenti è necessario indicare di quale piattaforma si tratta. È sufficiente aggiungere un ciclo di parole (come quello visto sopra) all’interno di questo ciclo BOUCLE_test e di mostrare i logo corrispondenti. Aggiungiamo al passaggio la data di pubblicazione dell’articolo.

Il codice, quindi, diventa:

<B_test><p>I test di questo gioco:
	<ul>
	<BOUCLE_test(ARTICLES){id_rubrique}{titre_mot=Test}>
		<li>
		<BOUCLE_test_piattaforme(MOTS){id_article}{type=Piattaforme}>
			[(#LOGO_MOT)]
		</BOUCLE_test_piattaforme>
		<a href="#URL_ARTICLE">#TITRE</a> - [(#DATE|affdate)]
	</BOUCLE_test>
	</ul>
	</B_test>

Stessa cosa per le anteprime, le soluzioni e i trucchi:

<B_anteprime><p>Le anteprime di questo gioco:
	<ul>
	<BOUCLE_anteprime(ARTICLES){id_rubrique}{titre_mot=Anteprima}>
		<li>
		<BOUCLE_anteprime_piattaforme(MOTS){id_article}{type=Piattaforme}>
			[(#LOGO_MOT)]
		</BOUCLE_anteprime_piattaforme>
		<a href="#URL_ARTICLE">#TITRE</a> - [(#DATE|affdate)]
	</BOUCLE_anteprime>
	</ul>
	</B_anteprime>

	<B_soluzioni><p>Le soluzioni di questo gioco:
	<ul>
	<BOUCLE_soluzioni(ARTICLES){id_rubrique}{titre_mot=Soluzione}>
		<li>
		<BOUCLE_soluzioni_piattaforme(MOTS){id_article}{type=Piattaforme}>
			[(#LOGO_MOT)]
		</BOUCLE_soluzioni_piattaforme>
		<a href="#URL_ARTICLE">#TITRE</a> - [(#DATE|affdate)]
	</BOUCLE_soluzioni>
	</ul>
	</B_soluzioni>

	<B_trucchi><p>I trucchi e i suggerimenti di questo gioco:
	<ul>
	<BOUCLE_trucchi(ARTICLES){id_rubrique}{titre_mot=Trucchi}>
		<li>
		<BOUCLE_trucchi_piattaforme(MOTS){id_article}{type=Piattaforme}>
			[(#LOGO_MOT)]
		</BOUCLE_trucchi_piattaforme>
		<a href="#URL_ARTICLE">#TITRE</a> - [(#DATE|affdate)]
	</BOUCLE_trucchi>
	</ul>
	</B_trucchi>

(Questi tre cicli funzionano esattamente con lo stesso principio del ciclo BOUCLE_test.)

Rimangono le news... In questo caso adotteremo un comportamento molto diverso. Le news sono solitamente informazioni "corte" (annuncio di un ritardo, voci di corridoio...), quindi sarà meglio presentarle tutte insieme un una stessa pagina (o forse no, ma per le necessità di questo tutorial è meglio così!).

Il piccolo pezzo di codice risolve il problema:

<BOUCLE_news(ARTICLES){id_rubrique}{titre_mot=News}{doublons}{par date}{inverse}{0,1}>
	<p><a href="news_gioco.php3?id_rubrique=#ID_RUBRIQUE">Le news di questo gioco</a> - ultimo aggiornamento: [(#DATE|affdate)]
	</BOUCLE_news>

Il trucco che permette di avere un codice così breve è il seguente:
-  innanzitutto, non ci interessa la piattaforma; per questo facciamo a meno di un ciclo;
-  il ciclo BOUCLE_news recupera l’ultimo articolo ({par date}{inverse}{0,1}) associato alla parola chiave "News". Un solo articolo, ciò basta per sapere se c’è una pagina dedicata alle news; e mentre si recupera la news più recente, la sua data diventa la data di "ultimo aggiornamento" della pagina delle news...

In maniera più elegante si sarebbe potuto creare un ciclo BOUCLE_news vuoto e inserire il link nel testo opzionale del ciclo.

Importante: il link punta verso una pagina "news_gioco.php3", con l’id_rubrique dell’attuale rubrica. Pertanto, dobbiamo creare tale modello.

I giochi nella stessa categoria

Per concludere, vogliamo visualizzare i giochi della stessa categoria (per esempio, gli altri giochi del tipo "Survival horror").

Prima di tutto, utilizziamo il metodo che consiste nel "salire di un livello" (per passare dalla rubrica dell’articolo alla rubrica della categoria di questo gioco). Poi, applichiamo di nuovo il metodo utilizzato nelle rubriche per visualizzare separatamente le rubriche che contengono articoli (cioè, le rubriche direttamente dedicate a un gioco).

Il codice è:

<BOUCLE_rub_att(RUBRIQUES){id_rubrique}{doublons}>
		<BOUCLE_giochi(RUBRIQUES){meme_parent}{doublons}{par date}{inverse}>
			<B_con_articoli>
			<h4><a href="#URL_RUBRIQUE">#TITRE</a></h4>
			<BOUCLE_con_articoli(ARTICLES){id_rubrique}{age < 90}>
			</BOUCLE_con_articoli>
		</BOUCLE_giochi>
	</BOUCLE_rub_att>

I dettagli di questo codice sono:
-  il ciclo BOUCLE_rub_att (che fornisce la rubrica attuale) contiene un criterio {doublons} per evitare di visualizzare in seguito il gioco principale;
-  logicamente, anche il ciclo BOUCLE_giochi contiene un criterio {doublons}; attenzione: moltiplicare i criteri doublons può creare problemi. Se si copiano questi cicli all’interno della stessa pagina per un altro scopo, evitare di inserire questo criterio;
-  il ciclo BOUCLE_con_articoli recupera solo gli articoli fino a 3 mesi (90 giorni) prima. Infatti, in questa sede non vogliamo mostrare tutti i giochi della medesima categoria, ma solo quelli modificati di recente.

Autore Fausto Barbarito Publié le : Mis à jour : 26/10/12

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