Association des valeurs saisies aux index
Par défaut, la recherche par mots-clés filtre sur l'ensemble des critères saisis : le résultat de la recherche "histoire géographie" sera les mentions qui contiennent ces deux mots dans l'intitulé.
Cela se fait par la chaine d'interrogation définie dans le fichier stylesheets/commun/composants/rechercheAvancee.cdmfr.xsl
<input type="hidden" name="__5" value="__{$_intitule}_pt_AND"/>
[...]
<!-- Mots-clés -->
<div class="ligne_form">
<label for="__{$_intitule}_pt_AND"><xsl:call-template name="get-rub"><xsl:with-param name="rub">56</xsl:with-param></xsl:call-template></label>
<input class="entree" size="24" name="__{$_intitule}_pt_AND" type="text">
[...]
Il est néanmoins possible de filtrer sur seulement l’un des mots clés saisis par l'utilisateur.
Il suffit de remplacer l'opérateur AND par OR.
Ainsi, la recherche "histoire géographie" ramènera l'ensemble des mentions comportant "histoire" ou "géographie" dans son intitulé.
Structure de la chaîne d'interrogation
Une chaîne d'interrogation doit correspondre aux règles de nommage suivantes : Tous les paramètres utilisés pour la conception d'une grille de recherche commencent par deux caractères “_”.
Tous les paramètres utilisés pour structurer la chaîne d'interrogation commencent par deux "_" puis un nombre dont la valeur sert à ordonner les éléments de la chaîne d'interrogation.
Le premier nombre est 1 donc le paramètre se nomme "__1". Le caractère "." est utilisé pour combiner des opérations élémentaires entre elles (ouverture d'un nouveau niveau).
Ainsi si l'on veut écrire : a or ( b and not c) or d on doit construire les huit paramètres suivants :
* "__1" valeur = "__a"
* "__2" valeur = "or"
* "__3.1" valeur = "__b"
* "__3.2" valeur = "and"
* "__3.3" valeur = "not"
* "__3.4" valeur = "__c"
* "__4" valeur = "or"
* "__5" valeur = "__d"
Ces paramètres peuvent être transmis dans les champs de type “hidden” d'un formulaire HTML, tel que c'est le cas d'un le fichier stylesheets/commun/composants/rechercheAvancee.cdmfr.xsl