Procédure : modifier les propriétés retournées dans les résultats de recherches principaux
Dernière modification : mardi 29 juin 2010
S’applique à : SharePoint Server 2010
Pour afficher des valeurs à partir de propriétés personnalisées dans les composants WebPart de résultats de Recherche de contenu d’entreprise SharePoint, vous devez modifier les propriétés du composant WebPart de façon à procéder comme suit :
ajouter la propriété personnalisée à la requête de recherche ;
modifier la transformation XSLT pour afficher la propriété personnalisée.
Notes
Seules les propriétés managées sont disponibles pour les requêtes de recherche. Si la propriété personnalisée est une propriété analysée, vous devez la mapper à une propriété managée pour que cette procédure fonctionne. Pour plus d'informations, voir Gestion des métadonnées.
Ajouter une propriété à la requête de recherche
La page des résultats de recherche étant ouverte dans le navigateur, cliquez sur le menu Actions du site, puis cliquez sur Modifier le contenu de la page.
Une fois la page ouverte en mode Édition, cliquez sur la flèche déroulante pour que le composant WebPart ouvre le menu Composant WebPart, puis cliquez sur Modifier le composant WebPart. Le volet d’outils s’ouvre pour vous permettre de modifier les propriétés du composant WebPart.
Développez le nœud Propriétés d’affichage, puis désactivez la case à cocher Utiliser la visualisation de l’emplacement.
Double-cliquez dans la zone de texte Propriétés extraites pour sélectionner le texte qui contient le code XML spécifiant les propriétés à renvoyer, copiez-le dans le Presse-papiers, puis collez-le dans un éditeur tel que le Bloc-notes ou Microsoft Visual Studio.
Ajoutez une balise avec le nom de la propriété gérée dans la section <SelectedColumns>, en utilisant la syntaxe suivante :
<Column Name="CustomProperty"/>
Recopiez le code XML mis à jour dans la zone de texte Propriétés extraites, puis cliquez sur OK pour enregistrer les modifications apportées au composant WebPart.
À ce stade, la valeur de la propriété doit être incluse dans les résultats de recherche renvoyés. Vous pouvez le vérifier en suivant les étapes décrites dans Procédure : afficher les données XML des résultats de la recherche.
Notes
Pour afficher la propriété avec les résultats de la recherche, vous devez modifier la propriété XSL du composant WebPart.
Modifier le de XSLT du composant WebPart pour inclure la nouvelle propriété
Répétez les étapes 1 et 2 de la procédure précédente.
Développez le nœud Propriétés d’affichage, puis cliquez sur le bouton Éditeur XSL pour ouvrir la fenêtre Entrée de texte pour la propriété XSL.
Copiez le contenu de la fenêtre dans un éditeur XML, où vous allez modifier le code XSLT pour afficher la propriété personnalisée.
Les modifications que vous apportez dépendent de la manière dont vous souhaitez afficher la propriété. Par exemple, vous pouvez utiliser le modèle DisplayString, comme illustré dans le code suivant.
<xsl:template name="DisplayString"> <xsl:param name="str" /> <xsl:if test='string-length($str) > 0'> - <xsl:value-of select="$str" /> </xsl:if> </xsl:template>
Vous pouvez également créer un modèle pour la propriété personnalisée et spécifier ce modèle à l’aide de l’élément <xsl:call-template>. Pour plus d’informations sur ce processus, voir la référence Élément <xsl:call-template>.
Vous devez ajouter le code afin d’appeler le modèle DisplayString pour afficher la propriété personnalisée. Pour afficher la propriété personnalisée avec d’autres métadonnées, telles que la propriété Author, recherchez le code call-template pour le modèle DisplayAuthors en recherchant la chaîne suivante :
<xsl:call-template name="DisplayAuthors">
Après l’élément </xsl:call-template> de fermeture pour le modèle DisplayAuthors, ajoutez l’élément <xsl:call-template> pour la nouvelle propriété à l’aide de la syntaxe suivante.
<xsl:call-template name="DisplayString"> <xsl:with-param name="str" select="customproperty" /> </xsl:call-template>
Important
Le nom de la propriété personnalisée ne doit contenir que des caractères minuscules.