Visningsmallar för sök i SharePoint Online är som bekant oerhört kraftfulla. Här följer en kort beskrivning av hur vi anpassade träfflistan för publicerade artiklar med en särskild innehållstyp åt en kund.

Börja med att skapa en visningsmall genom att kopiera en befintlig sådan i SharePoint Designer. Öppna Sök-siten och navigera till Alla filer – _catalogs  – masterpages – Display Templates – Search. Det enklaste sättet är att exportera filen som heter ’Item_Default’ till en lämplig plats på din dator. Döp om filen till något passande.

1_Item_Default

2_Exportera

Öppna den kopierade filen och gör de ändringar som behövs. I vårt fall kommer vi att kopiera in diven ”Item_CommonItem_Body” från Item_CommonItem_Body.html-filen som finns i samma visningsmallbibliotek. Div-partiet lägger vi in innanför diven med id’t ”_#= $htmlEncode(itemId) =#_”.

3_divarna

Det är i detta parti som vi kommer skiva JavaScript som bland annat ska visa den url som vi vill presentera i vår visningsmall när man söker efter artiklar som har en särskild innehållstyp. För att skapa vår url behöver vi två fält, eller hanterade egenskaper, som måste läsas in av vår mall. Det viktiga är att egenskapsnamnet man använder i html-filen är det faktiska namnet, samt att den mappar till rätt fält i SharePoint. I vårt fall behöver vi lägga till ett anpassat fält och ett standardfält, ”ListItemID”.

Såhär ser det ut i Administrationscenter för SharePoint Online:

4_listitemID_AdminCenter

Och såhär ser det ut i html-filen när egenskapen läggs till i ManagedPropertyMapping-taggen.

5_mappedproperty

När vi är nöjda med våra ändringar är det dags att importera tillbaka filen till visningsmallbiblioteket. Första gången man importerar tillbaka filen så skapas ingen tillhörande js-fil automatiskt. Detta görs först när man skapat en resultattyp i SharePoint. Gå till Sök-sitens webbplatsinställningar – Resultattyper (i Sök-delen) – Ny resultattyp. Ge resultattypen ett namn och välj den visningsmall som vi precis skapat (se bilder). Eftersom vi bara vill att visningsmallen ska gälla för vissa träffar, förfinar vi villkoren med hjälp av flervalsmenyerna under ”Visa fler villkor” och väljer att ”ContentType” ska ”Innehåll[a] något av…” den innehållstyp som är relevant i sammanhanget. När man väljer sin visningsmall ser man också sökvägen till den genererade js-filen. Klicka ”Spara” och uppdatera visningsmallbiblioteket i SharePoint Designer och du bör se att din html-fil fått en js-fil också.

6_resultattyp

 

7_fler villkor

 

8_js fil url

 

resultattyp_rang

Det som är viktigt att komma ihåg när man arbetar med visningsmallar är två saker. Om man gör en ändring och lägger till en ny hanterad egenskap i sin visningsmall så måste resultattypen uppdateras. Detta görs på sidan där man skapar nya resultattyper. SharePoint upptäcker att man har gjort en ändring och ber en att uppdatera.

9_prop sync

Sedan är det alltid bra att reindexera webbplatsen där kolumner ifråga finns. Gå till webbplatsinställningarna för den siten och klicka på ”Sök- och offlinetillgänglighet”. Indexera om webbplatsen.

 

10_indexera om

När vi nu gjort allt enligt konstens alla regler så har vi till slut en fungerande visningsmall för den resultattyp som vi valt att framhäva på ett mer anpassat sätt.

11_resultat