TYPO3 Solr - Création d'une facette à partir d'un uid
Voici ici un petit snippet permettant de récupérer dans une facette la valeur d'un champ à partir d'un uid. Ici mon exemple concerne une plateforme TYPO3 multi-sites disposant d'un moteur de recherche commun. J'utilise cette facette pour permettre à l'utilisateur de filtrer les résultats de recherche en fonction des sites qui l'intéressent.
L'indexation
Dans un premier temps voici la configuration permettant d'indexer l'uid de la page racine de votre site :
plugin.tx_solr { index { queue { pages { fields { rootpage_intS = TEXT rootpage_intS.data = leveluid:0 } } } } }
La facette
Voici maintenant la configuration de la facette à utiliser :
plugin.tx_solr { search { faceting { facets { rootPage { label = Site field = rootpage_intS renderingInstruction = RECORDS renderingInstruction { # optionValue récupère la valeur de la facette en cours source.field = optionValue tables = pages conf.pages = TEXT conf.pages.field = title } } } } } }
Voilà tout simplement comment créer une facette récupérant une valeur à partir d'un uid. Vous pouvez bien évidemment adapter le code pour récupérer tout autre type d'enregistrement et de champ. N'hésitez pas à poser des question / partager vos idées dans les commentaires.