...
Les requêtes de recherche
Ajout d'un critère de recherche
Il est possible d'ajouter des critères de recherche (tel que la composante, thématique du diplôme, ...).
Le principe pour ajouter un critère de recherche consiste en l'adaptation de 4 fichiers XML et XSL :
- properties/search-engine-config.${cdmfr-release}.xml
- initdb/uv-${cdmfr-release}/constantes.${cdmfr-release}.xml
- webpages/stylesheets/${cdmfr-release}/composants/commun.xsl
- webpages/stylesheets/${cdmfr-release}/composants/rechercheAvancee.cdmfr.xsl
Suivent ensuite les tâches ant à exécuter :
- ant initdb
- ant deploy
- ant import_dir
- ant indexdb
Par exemple, pour le critère supplémentaire "Thématique de la mention", les ajouts à effectuer sont colorisés en bleu et sont à adapter au profil :
- search-engine-config.xml :
<?xml version="1.0" encoding="UTF-8"?>
<search-engine>
<folder identFolder="/CDM/program[1]/@id">
<communs-indexes>
<index name="domaine"
terms="/CDM/program[1]/habilitation/domainName/fixedDomain"
keyword="true" />
<index name="diplome"
terms="/CDM/program[1]/qualification/degree/@degree"
keyword="true" />
<index name="intituleSort"
terms="/CDM/program[1]/programName/text[not(@language)]" />
<index name="titleSort"
terms="/CDM/program[1]/programName/text[@language='en-EN']" />
<!-- Ajout Critère de recherche = Thematique de la mention -->
<index name="thematiqueMention"
terms="/CDM/program[1]/habilitation/field/fieldName/free/text/text()"
keyword="true" />
</communs-indexes>
<languages defaultLang="fr-FR">
[...]
<by index="intituleSort" />
<by index="thematiqueMention" />
</sort>
</language>
<language name="en-EN">
[...]
<by index="titleSort" />
<by index="thematiqueMention" />
</sort>
</language>
</languages>
</search-engine>
- constantes.xml
<thematiqueMention>
<data id="SAPAS" import="SAPAS">
<value lang="fr-FR">ACTIVITÉ PHYSIQUE ADAPTÉE ET SANTÉ</value>
</data>
[...]
<data id="SURAM" import="SURAM">
<value lang="fr-FR">URBANISME ET AMENAGEMENT</value>
</data>
<data id="SMATNANO" import="SMATNANO">
<value lang="fr-FR">USTH Matériaux et nanotechnologie</value>
</data>
</thematiqueMention>
- commun.xsl
<!-- recuperation des param pour les valeurs des formulaires -->
<xsl:param name="domaine" />
<xsl:param name="diplome" />
<xsl:param name="ufr" />
<xsl:param name="title" />
<xsl:param name="intitule" />
<xsl:param name="thematiqueMention" />
<xsl:param name="basket" select="0" />
- rechercheAvancee.cdmfr.xsl
!-- Ajout : Recherche par thematique -->
<div class="ligne_form">
<label for="__thematiqueMention">Thématique : </label>
<select size="1" name="__thematiqueMention">
<option value=""><xsl:if test="$thematiqueMention=''"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if>Toutes les thématiques</option>
<xsl:for-each select="/CDM/properties/infoBlock/extension/uniform/constantes/thematiqueMention/data">
<option value="{./@id}">
<xsl:if test="./@id=$thematiqueMention"><xsl:attribute name="selected">selected</xsl:attribute></xsl:if>
<xsl:value-of select="./value[@lang=$_lang]"/>
</option>
</xsl:for-each>
</select>
</div>
Les écrans
Les pages par défaut
...