Els bucles i etiquetes de cerca

SPIP disposa d’un motor de cerca integrat. Per tant, s’ha de preveure una pàgina que permeti mostrar els resultats de les cerques.

El formulari de cerca

Per mostrar el formulari de cerca, n’hi ha prou en inserir l’etiqueta:

#FORMULAIRE_RECHERCHE

El formulari retorna, per defecte, cap a spip.php?page=recherche [1]; per tant, heu de fer un esquelet recherche.html que permeti mostrar els resultats.

Podeu decidir utilitzar una altra pàgina de publicació dels resultats. Per això hem de fer servir l’etiqueta de la manera següent:

[(#FORMULAIRE_RECHERCHE|spip.php?page=xxx)] [2]

on spip.php?page=xxx és la pàgina cap a la que desitgeu enviar l’usuari, , i xxx.html és el seu esquelet.

Històric: En les versions anteriors a SPIP 1.9 hem d’escriure xxx.php3 i no spip.php?page=xxx

En general, fins a SPIP 1.9, els URLs de les pàgines generades per SPIP eren del tipus http://elmeulloc.net/xxx.php3 i no http://elmeulloc.net/spip.php?page=xxx.

L’esquelet dels resultats

Els bucles que permeten mostrar els resultats de la cerca són, en realitat, bucles que ja hem explicat a: ARTICLES, SECCIONS, BREUS i a partir de [SPIP 1.8.2] FORUMS. Per cert, podeu fer cerques no només en articles, sinó també a dins de les seccions, les breus i els fòrums.

-  La única diferència, respecte al que està documentat al manual de referència dels bucles, és l’elecció del criteri de selecció, que ha de ser {recherche}. Els altres criteris de visualització i les etiquetes d’aquests bucles resten aquí vàlides.

-  No obstant, per classificar els resultats per pertinença, utilitzarem preferentment aquest nou criteri de presentació: {par points}. Els resultats es mostren, en general, per ordre decreixent de score ({par points}{inverse}), és a dir de pertinença.

-  Finalment, podrem utilitzar l’etiqueta #POINTS, el qual mostra la pertinença dels resultats (atenció, en l’absolut aquest valor no és molt explícit, és sobretot útil per la classificació dels resultats).

-  Introduïda per [SPIP 1.5.1], l’etiqueta #RECHERCHE mostra la consulta formulada pel visitant.

Exemple de bucle complert:

<h1><:resultats_recherche:>[ (#RECHERCHE)]</h1>

<B_articles>
<h2><:info_articles_trouves:></h2>
<ul>
	<BOUCLE_articles(ARTICLES) {recherche} {par points}{inverse}>
	<li>#POINTS <a href="#URL_ARTICLE">#TITRE</a></li>
	</BOUCLE_articles>
</ul>
</B_articles>

Ressaltar la consulta a les altres pàgines [3]

La posada en evidència dels termes de la cerca es fa per mitjà de la biblioteca de funcions jquery.

-  Si la variable cerca existeix al Url, es netejada primerament per evitar qualsevol atac per injecció, després, si el terme de la cerca es troba directament en un bloc de class="surlignable" (o en un bloc descendent d’un bloc de class="surlignable"), es mostra a highlight en un <span class="spip_surligne">.../span>.
-  Si es troba directament en un bloc de class="pas_surlignable" (o en un bloc descendent d’un bloc de class="pas_surlignable"), es mostra normalment (nohighlight).
-  L’aparença visual de com es ressalta es pot canviar modificant la definició d’estil de .spip_surligne (veure: «Modificar l’aparença gràfica»).

Per beneficiar-se de la posada en evidència dels termes de la cerca des de la primera pàgina de visualització (per exemple en el cas que la cerca no reenviï cap a recherche.html), afegir al tixer mes_options.php :

if (isset($_REQUEST['recherche'])) {
  $_GET['var_recherche'] = $_REQUEST['recherche'];
}

Les etiquetes #DEBUT_SURLIGNE i #FIN_SURLIGNE així com la variable de personalització $nombre_surligne són obsoletes al 2.0.3.

Notes

[1en francès, recherche significa cerca

[2a partir de la versió 2 d’SPIP, s’hauria d’escriure d’aquesta manera #FORMULAIRE_RECHERCHE{#URL_PAGE{xxx}}

[3per les versions inferoprs a 2.0
#DEBUT_SURLIGNE, #FIN_SURLIGNE són dues etiquetes que indiquen a SPIP a quina part de la pàgina ha d’acolorir les paraules cercades. Aquestes etiquetes pròpies del lloc es troben disponibles a qualsevol indret dels esquelets.

Quan l’internauta arriba a una pàgina a partir de la pàgina dels resultats de cerca, les paraules cercades són automàticament acolorides a la pàgina trobada. SPIP no distingeix, per exemple, entre un menú, codi javascript o el text de l’article. Acoloreix les paraules arreu, cosa que pot ser molesta o provocar problemes als scripts. Es pot fer servir aquestes dues etiquetes per tal de limitar l’acoloriment a una part concreta de la pàgina. Per exemple:

<BOUCLE_article(ARTICLES) {id_article}>
<INCLURE{fond=inc-menu-rubriques}>
#DEBUT_SURLIGNE
	<h1>#TITRE</h1>
	#CHAPO
	#TEXTE
#FIN_SURLIGNE
#NOTES
</BOUCLE_article>

-  La variable de personalització $nombre_surligne representa el nombre màxim de vegades que una paraula buscada serà ressaltada a dins del text. Per defecte, aquest valor està definit a 4.

Autor merce Publié le : Mis à jour : 31/08/23

Traductions : عربي, català, Deutsch, English, Español, français, italiano, Nederlands, українська