Los bucles de búsqueda

SPIP dispone de un motor de búsqueda integrado. Por lo tanto, si se utiliza, hay que prever una página que permita mostrar los resultados de las búsquedas.

La interfaz de búsqueda

Para mostrar el formulario de la interfaz de búsqueda, alcanza con insertar la baliza:

#FORMULAIRE_RECHERCHE

Por omisión, el formulario enviará las solicitudes hacia la página cuyo nombre es spip.php?page=recherche [1]; por lo tanto, debes realizar un esqueleto recherche.html que permita mostrar los resultados.

También puedes decidir que utilizarás otra página para mostrar los resultados. Para eso, hay que agregarle un pseudo-filtro a la baliza, de la manera siguiente:

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

donde spip.php?page=xxx es la página hacia la cual deseas enviar al visitante que hace una búsqueda, y xxx.html es su esqueleto.

Histórico: En las versiones anteriores a SPIP 1.9 hay que escribir xxx.php3 y no spip.php?page=xxx

En general hasta SPIP 1.9, la url de las páginas generadas por SPIP tenían la forma http://misitio.net/xxx.php3 y no http://misitio.net/spip.php?page=xxx.

El esqueleto de resultados

Los bucles que permiten mostrar los resultados de la búsqueda son, en realidad, bucles considerados anteriormente en este manual: ARTICLES, RUBRIQUES, BREVES y desde [SPIP 1.8.2], FORUMS. Por cierto, se pueden efectuar búsquedas no sólo en los artículos, sino también en las secciones y las breves.

-  La única diferencia, respecto a lo que está documentado en el manual de referencia de los bucles, es la elección del criterio de selección que debe ser {recherche}. Los demás criterios de presentación y las balizas de estos bucles no cambian.

-  Adicionalmente, para clasificar los resultados por pertinencia, utilizaremos preferentemente el nuevo criterio de presentación: {par points} (por puntos). En general, los resultados se presentan por orden decreciente de puntuación ({par points}{inverse}), es decir, de pertinencia.

-  También se puede utilizar la baliza #POINTS (puntos), que muestra la pertinencia de los resultados (OjO: en absoluto este valor no es muy explicito en sí, su interés es relativo de un resultado a otro y es útil sobre todo para clasificar los resultados).

-  Para mostrar la solicitud formulada por el visitante del sitio, se puede utilizar la baliza #RECHERCHE (introducida en [SPIP 1.5.1], [2]

Ejemplo de un bucle completo:

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

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

Resaltar la solicitud en las páginas halladas

-  #DEBUT_SURLIGNE, #FIN_SURLIGNE son dos balizas que indican a SPIP es qué parte de la página se colorean las palabras buscadas. Estas balizas propias del sitio están disponibles para cualquier lugar de los esqueletos.

Cuando la internauta llega a una página desde la página de resultados de la búsqueda, las palabras buscadas se colorean automáticamente en la página hallada. SPIP no distingue, por ejemplo, entre un menú, código javascript o el texto del artículo; va a colorear las palabras en todos lados, lo que puede quedar feo y hasta crear problemas con los scripts. Se pueden utilizar estas dos balizas para limitar la coloración a una parte de la página. Por ejemplo:

<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 personalización $nombre_surligne representa el número máximo de veces que una palabra buscada se resaltará en el texto. Por omisión, este valor está definido en 4.

-  La apariencia visual del resaltado puede cambiarse modificando la definición de estilo de .spip_surligne (ver : «Personalización gráfica»).

Notas

[1Habrás entendido que recherche significa búsqueda en francés

[2que en versiones anteriores de SPIP se puede obtener con el código PHP <?php echo $recherche; ?>).

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

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