Forum CMS Made Simple FR

Version complète : Etendre les possibilités du module Search
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS: 1.9.2
#~ Nom de l'hébergeur : local
#~ Informations Système :
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~

Bonjour,

Je porte en fait sous CMSMS mon site préalablement développé "à l'ancienne" en PHP/Mysql. Sur le nouveau site dans plusieurs pages j'utilise des requêtes(via un UDT) vers une table que j'ai importée dans la base de données de CMSMS. Le problème est que de façon évidente, le module "search" ne recherche pas le contenu de ces pages qui "puisent" leur contenu dans une table additionnelle. Quelqu'un aurait-il déjà rencontré le problème et modifié le module "search" en conséquence ?
Sinon je devrai utiliser un moteur "google" interne qui lui verra bien l'ensemble du contenu. C'est de toutes les façons plus performant si l'optique est de fournir un moteur de recherche le + fiable possible, mais c'est moins "carré" dans la démarche. Je n'ai que trop rapidement jeté un oeil sur le module "search", visiblement bien développé, presque trop d'ailleurs pour mes maigres compétences.Voila:-)
Poster sur le bon Forum serait un plus
Modules, Tags [ Nouveaux messages ]
Aide concernant l'utilisation des modules, balises et balises utilisateur

A déplacer
Merci d'avoir déplacé le post! Sinon des avis sur ce problème. Je ne pense pas être le premier à l'avoir rencontré...
j'ai déjà vu passer ce genre de question, je n'ai jamais vu la réponse, si réponse il y a :/
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).
Merci pour ces précieuses info Kraygoon. Je viens de jeter un oeil un peu trop rapide sur le guide du développeur et la partie concernée par le développement de modules. C'est intéressant et assez dense pour qui n'a jamais écrit que quelque mauvaises lignes de programmation procédurale pour faire vite. Je perçois bien la puissance de la POO mais je ne suis pas encore assez familier avec pour me lancer dans le développement d'un "vrai module" avec toutes les optimisations SEO que je souhaite notamment. La construction du module "d'exercice" reste par contre à ma portée. C'est très clair et parfaitement expliqué, mais tout comme toi le temps me manque.Il y a bien longtemps de cela (13ans) je rentrais dans une salle avec des stagiaires pour leur expliquer la syntaxe du html 3.2. L'un des stagaires, un brin facétieux avait mis en fond d'écran de sa machine une image sur laquelle on pouvait observer un pauvre hère tendant sa sébile avec une pancarte "Will code HTML for food". J'aurais du comprendre!