18/01/2011, 10:40:54
Si c'est possible :-)
Le module Search n'est pas "isolé", il peut fonctionner conjointement avec un autre module fait maison qu'on va appeler par exemple "PierrePercee".
Dans ton module fait maison, tu peux créer une fonction d'indexation de ton contenu relatif à ce module qui va donc puiser les infos dans ta base de données et insérer dans le module Search les références. Grosso modo ton module indique au module Search que tel mot est présent dans sa base et que s'il le trouve il n'a qu'à lui demander. Donc une fonction "SearchReindex" qui va utiliser la fonction "AddWords" du module Search.
Plus tard, ton visiteur fait une rechercher sur le mot "maison" (arbitrairement). La le module voit dans ses tables que le mot "maison" est lié au module "PierrePercee". A ce moment là le module Search appelle la fonction "SearchResultWithParams" de ton module "PierrePercee". Ton module doit alors lui retourner un tableau de valeur avec les liens qui vont bien.
Ainsi tu peux lier n'importe quel module perso au module Search et en obtenir les résultats que tu veux.
Le souci maintenant c'est que tu utilises des UDT, ces UDT sont très pratiques pour de toutes petites interventions mais se retrouvent vite limités dès qu'on doit envisager de créer une classe PHP pour gérer ces indexations, résultats de recherches, etc.
Mon conseil du jour : retrousser ses manches et plonger dans la monde du module personnalisé ou faire appel à quelqu'un qui connait déjà la chose (pas moi j'ai trop de boulot en ce moment).
Le module Search n'est pas "isolé", il peut fonctionner conjointement avec un autre module fait maison qu'on va appeler par exemple "PierrePercee".
Dans ton module fait maison, tu peux créer une fonction d'indexation de ton contenu relatif à ce module qui va donc puiser les infos dans ta base de données et insérer dans le module Search les références. Grosso modo ton module indique au module Search que tel mot est présent dans sa base et que s'il le trouve il n'a qu'à lui demander. Donc une fonction "SearchReindex" qui va utiliser la fonction "AddWords" du module Search.
Plus tard, ton visiteur fait une rechercher sur le mot "maison" (arbitrairement). La le module voit dans ses tables que le mot "maison" est lié au module "PierrePercee". A ce moment là le module Search appelle la fonction "SearchResultWithParams" de ton module "PierrePercee". Ton module doit alors lui retourner un tableau de valeur avec les liens qui vont bien.
Ainsi tu peux lier n'importe quel module perso au module Search et en obtenir les résultats que tu veux.
Le souci maintenant c'est que tu utilises des UDT, ces UDT sont très pratiques pour de toutes petites interventions mais se retrouvent vite limités dès qu'on doit envisager de créer une classe PHP pour gérer ces indexations, résultats de recherches, etc.
Mon conseil du jour : retrousser ses manches et plonger dans la monde du module personnalisé ou faire appel à quelqu'un qui connait déjà la chose (pas moi j'ai trop de boulot en ce moment).