Obtenez des propriétés personnalisées telles que « Créé » et « Description » dans les modèles d'affichage de ContentBySearchWebPart

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/73731

Question

J'utilise des modèles d'affichage pour le rendu de ContentBySearchWebPart.Fonctionnalité intéressante, mais comment puis-je ajouter des propriétés personnalisées à partir d'un élément de la liste des résultats de recherche dans le modèle d'affichage ?

Par exemple, j'ai un modèle, some_listitem_template.html:

<!--#_
var line1 = $getItemValue(ctx, "Line 1");
var line2 = $getItemValue(ctx, "Line 2");
var line3 = $getItemValue(ctx, "Line 3");

for (var p in ctx.CurrentItem)
{
    console.log(p + ":" + $getItemValue(ctx, p));
}

line1.overrideValueRenderer($contentLineText);
line2.overrideValueRenderer($contentLineText);
_#-->
<div class="news-date">_#= line3 =#_</div>
<div class="news-title">
   <a href="_#= linkURL =#_" title="_#= $htmlEncode(line1.defaultValueRenderer(line1)) =#_">_#= line2 =#_</a>
</div> 

Et j'ai une chaîne de déclaration de mappage de propriétés<mso:ManagedPropertyMapping msdt:dt="string">'Link URL':'Path','Line 1':'Title','Line 2':'Description', 'Line 3':'Created'</mso:ManagedPropertyMapping>

Mais ces propriétés (Description et Créé) sont toujours vides.Informations de débogage de console.log montre-moi ça ContextItem a une assez petite collection de propriétés :

Rank:0 
DocId:46734
Path:http://someurl/news/Page-1.aspx
Title:Some title
FileExtension:aspx
SecondaryFileExtension:aspx
OriginalPath:somepath
PartitionId:0c37852b-34d0-418e-91c6-2ac25af4be5b5
UrlZone:1
AAMEnabledManagedProperties:AttachmentURI;deeplinks;DefaultEncodingURL;ExternalMediaURL;HierarchyUrl;OrgParentUrls;OrgUrls;OriginalPath;ParentLink;Path;PictureThumbnailURL;PictureURL;PublishingImage;recommendedfor;ServerRedirectedEmbedURL;ServerRedirectedPreviewURL;ServerRedirectedURL;SiteLogo;SitePath;SPSiteURL;UserEncodingURL
RenderTemplateId:~sitecollection/_catalogs/masterpage/Display Templates/Search/Item_Default.js
QueryRuleId:00000000-0000-0000-0000-000000000000

Supposons que ce soit à cause de la configuration de la recherche, mais où se trouve exactement cet endroit ?

Était-ce utile?

La solution

choses à vérifier:

  1. Allez à / _Catalogs / Masterpage et trouvez votre fichier JS displaytemplate.Affichez ses propriétés et assurez-vous de voir les mappages en question dans la propriété de mappages de propriété gérée.
  2. aller à Centra admin -> Gérer les applications de service -> Application de recherche et consultez votre schéma - Assurez-vous que la description et créées sont des propriétés gérées existantes et que vous avez des propriétés explorées correspondantes.

Autres conseils

Une autre chose à vérifier, si vous utilisez des types de résultats pour afficher les éléments:

aller à /_layouts/15/manageresultypes.aspx?Level=Sitecol au niveau de la collecte du site, et /_layouts/15/manageresultypes.aspx?level=Site au niveau du site, puis cliquez sur Mettre à jour s'il y a une synchronisation de propriétéAVERTISSEMENT.

 Entrez la description de l'image ici Cela doit être fait à chaque fois que les mappages sont modifiés dans le modèle

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top