Le gros problème en fait c'est que bon nombre de documents (principalement dans les modules récents comme download ou event par exemple) sont affichés en front liés à une rubrique mais afin d'être multi-implantables, ne sont pas pour autant dans l'arborescence d'une rubrique (quand au catalogue ou au forum, c'est plus compliqué encore puisqu'il y a des indirections entre la rubrique et le document).
Donc il y a deux points à résoudre :
1) trouver un point central où se greffer pour traiter globalement les document sans avoir à injecter
getIndexDocument sur chacun
2) trouver une solution pour prendre en compte un maximum de documents
Concernant le premier point, en l'état ce n'est pas évident à mettre en place en l'état. Je viens d'ouvrir un ticket pour ajouter un point d'entrée :
Impossible d'agir globalement pour ajouter des infos à l'indexation des documentsUn fois qu'il sera résolu, il vous suffira de surcharger la méthode
completeFrontIndexDocument qui sera appelée pour chaque document indexé.
Concernant le second point, il est possible de s'en sortir en traitant les cas les plus courants :
- si le document a des rubriques dans ses ancêtres, c'est bon
- si le document a un champ "topic" contenant des document de type "modules_website/topic", c'est bon aussi
- pour les autres (notamment les produits et les messages de forum) c'est à gérer au cas par cas...