API de la recherche : Différence entre versions
| Ligne 19 : | Ligne 19 : | ||
{{Information| toutes les méthode de la classe <code>bab_Search</code> sont statiques.}} | {{Information| toutes les méthode de la classe <code>bab_Search</code> sont statiques.}} | ||
| − | + | '''Obtenir la liste des environnements de recherche :''' | |
<code>bab_Search::getRealms();</code> retourne un tableau d'objets qui héritent tous de la classe bab_SearchRealm | <code>bab_Search::getRealms();</code> retourne un tableau d'objets qui héritent tous de la classe bab_SearchRealm | ||
| − | + | '''Obtenir un environement de recherche :''' | |
<code>bab_Search::getRealm('bab_SearchRealmContacts');</code> permet d'obtenir l'objet qui permet d'effectuer une recherche dans les contacts. | <code>bab_Search::getRealm('bab_SearchRealmContacts');</code> permet d'obtenir l'objet qui permet d'effectuer une recherche dans les contacts. | ||
Version du 9 février 2009 à 13:48
| |
Cette API est disponible à partir de Ovidentia 7.0.0 |
Sommaire
Utilisation de l'API
L'API de recherche est un ensemble de classes avec des interfaces communes pour interroger les différentes parties d'Ovidentia. Chaque partie d'Ovidentia proposant une interface de recherche sera enregistré au travers d'un événement dans l'API et sera appelé "realm" (environement de recherche).
Interroger l'API
Il faut inclure le fichier utilit/searchapi.php et utiliser la classe </code>bab_Search</code>
exemple :
<source lang="php">
include_once $babInstallPath."utilit/searchapi.php"; bab_Search::getRealms();
</source>
| |
toutes les méthode de la classe bab_Search sont statiques.
|
Obtenir la liste des environnements de recherche :
bab_Search::getRealms(); retourne un tableau d'objets qui héritent tous de la classe bab_SearchRealm
Obtenir un environement de recherche :
bab_Search::getRealm('bab_SearchRealmContacts'); permet d'obtenir l'objet qui permet d'effectuer une recherche dans les contacts.
Enregistrer un nouvel environnement
Pour créer un environnement de recherche, il faut créer un objet qui hérite de la classe abstraite bab_searchRealm.les classes héritées doivent contenir les méthodes suivantes :
getLink()
Cette méthode est optionelle, elle permet de retourner un lien http vers l'ensemble des ressources recherchées.
getSortMethods()
Cette méthode doit retourner un tableau contenant la liste des méthodes d'ordonnancement des résultats possibles dans cet environnement. Les clefs du tableau sont des chaine de caractères qui permettent d'identifier la méthode utilisée au sein de l'environnement de recherche. Les Valeurs du tableaux sont des chaines de caractères internationalisées utilisées pour décrire chaque méthodes de recherche.
Par exemple, voici la méthode getSortMethods() de la classe bab_SearchRealmFiles
<source lang="php">
public function getSortMethods() {
return array( 'relevance' => bab_translate('Relevance'), 'name' => bab_translate('File name'), 'modified' => bab_translate('Modification date'), 'modifieddesc' => bab_translate('Modification date descending') ); }
</source>
Dans cet exemple, les fichiers retournées par une recherche peuvent êtres ordonnés de plusieurs façon, par pertinence, en ordre alphabétique par le nom ou par dates croissantes ou décroissantes.