Ce pipeline utilisé dans ecrire/inc/rechercher.php permet de déclarer des recherches à effectuer sur d’autres tables que la table où la recherche est demandée, pour retourner des résultats en fonction de données extérieures à la table. Grâce à cela, une recherche d’un nom d’auteur sur une boucle ARTICLES retourne les articles associés au nom de l’auteur (via la table AUTEURS).
Ce pipeline reçoit un tableau de tables contenant un tableau de couples table, champ, pondération (comme le pipeline « rechercher_liste_des_champs »).
Exemple
Voici un exemple de modifications pour la table article.
function prefixePlugin_rechercher_liste_des_jointures($tables){
// rechercher en plus dans la BIO de l'auteur si on cherche dans un article (oui c'est aberrant !)
$tables['article']['auteur']['bio'] = 2;
// rechercher aussi dans le texte des mots cles
$tables['article']['mot']['texte'] = 2;
// ne pas chercher dans les documents
unset($tables['article']['document']);
// retourner l'ensemble
return $tables;
}
Autre exemple : recherche dans les documents
function MONPLUGIN_rechercher_liste_des_jointures($liste) {
// modification uniquement sur l'espace public
if ( !test_espace_prive() ) {
// recherche uniquement dans le titre des documents associés
$liste['article'] = array(
'document' => array(
'titre' => 2,
// 'descriptif' => 1
)
);
}
return $liste;
}