Voici la version corrigée pour 21.05 des codes Javascript et CSS pour regrouper par blocs les critères de recherche dans les onglets de la recherche avancée de l'OPAC, comme dans la capture d'écran ci-dessous.
Types de document, collections et localisations
Afin de simplifier la lecture de cet article, le code en exemple sera celui pour les localisations. Le code pour regrouper les localisations, les types de document ou les collections est conçu de la même manière, mais il est important d'identifier les éléments correctement. Voici comment adapter le code en fonction de l'onglet dans lequel vous travaillez :
Pour les localisations, l'élément en début de chaque ligne est #advsearch-loc et la valeur est mc-loc : CODE_LOCALISATION (CODE_LOCALISATION correspond au code de la valeur autorisée de vos localisations sous Administration > Valeurs autorisées > LOC)
Pour les types de document, l'élément en début de chaque ligne est #advsearch-itemtypes et la valeur est mc-itype : CODE_TYPE_DOCUMENT (CODE_TYPE_DOCUMENT correspond au code des types de document sous Administration > Types de document)
Pour les collections, l'élément en début de chaque ligne est #advsearch-ccode et la valeur est mc-ccode : CODE_COLLECTION (CODE_COLLECTION correspond au code de la valeur autorisée de vos colletions sous Administration > Valeurs autorisées > CCODE)
Créer le code
Il faut d'abord définir combien de blocs vous voulez créer et donner un titre à chaque bloc. Vous pouvez les identifier comme suit :
//Bloc 1
$("#advsearch-loc div.row:nth-of-type(1)").prepend("<h2>VOTRE TITRE</h2>");
//Bloc 2
$("#advsearch-loc div.row:nth-of-type(2)").prepend("<h2>VOTRE TITRE</h2>");
Vous répétez ce processus pour tous les blocs que vous voulez créer afin de leur donner un titre.
Ensuite, vous devez décider quelles localisations iront dans chaque bloc. Une fois ce choix fait, pour ajouter les localisations désirées dans chaque bloc, on ajoute autant de lignes que de localisations sous chaque titre, en changeant le code de localisation à chaque ligne. Le chiffre à la fin de chaque ligne correspond au numéro de bloc. Donc toutes les lignes du bloc 1 auront 1 inscrit à la fin, 2 pour le bloc 2, etc.
Chaque ligne aura alors ce code :
$("#advsearch-loc input[value='mc-loc:CODE_LOCALISATION']").parent().detach().appendTo($("#advsearch-loc div.row:nth-of-type(NUMÉRO DE BLOC)"));
Par exemple, si dans mon bloc 1 je veux les localisations COLL et BIB et dans le bloc 2 les localisations DEP et RES, mon code ressemblera à ceci :
//Bloc 1
$("#advsearch-loc div.row:nth-of-type(1)").prepend("<h2>Bibliothèque</h2>");
$("#advsearch-loc input[value='mc-loc:COLL']").parent().detach().appendTo($("#advsearch-loc div.row:nth-of-type(1)"));
$("#advsearch-loc input[value='mc-loc:BIB']").parent().detach().appendTo($("#advsearch-loc div.row:nth-of-type(1)"));
//Bloc 2
$("#advsearch-loc div.row:nth-of-type(2)").prepend("<h2>Réserve</h2>");
$("#advsearch-loc input[value='mc-loc:DEP']").parent().detach().appendTo($("#advsearch-loc div.row:nth-of-type(2)"));
$("#advsearch-loc input[value='mc-loc:RES']").parent().detach().appendTo($("#advsearch-loc div.row:nth-of-type(2)"));
Vous pouvez alors mettre autant de blocs que vous le désirez avec les titres appropriés et vous mettez autant de lignes que de localisations dans chaque bloc.
Code pour les cadrages
Pour mettre en forme l'apparence des blocs, le code suivant doit être ajouté dans la préférence système OPACUserCSS :
/*localisation en bloc*/
#advsearch-loc fieldset h2{
font-size: 1em;
margin-top: 20px;
margin-right: 1024px;
border-bottom: 1px solid #e5e5e5;
}
Si vous voyez du décalage comme dans la capture d'écran ci-dessous, il faut ajuster la valeur de margin-right. C'est un peu de l'essai et erreur, car selon le nombre de rangées et la longueur des noms de vos localisations, il se peut que vous ayez à augmenter la valeur de margin-right ou à la réduire. Par exemple, à Chicoutimi, cette valeur indique 1000px alors qu'à Vieux Montréal c'est 1300px.