Anpassung der Suchergebnisseite
avatar

Einer unserer Kunden hatte die Anforderung, die Suchergebnisseite dahingehend anzupassen, dass für jedes Element ein zusätzlicher Link angezeigt wird, hinter dem sich der Ablageort des entsprechendes Elementes verbirgt.

Bei einem Dokument mit dem Namen Dokument5.docx, welches über die URL http://contoso.intranet.com/Freigegebene Dokumente/Dokument5.docx erreichbar ist, wird also lediglich der Teilabschnitt ohne den Namen des Dokumentes benötigt. In diesem Beispiel http://contoso.intranet.com/Freigegebene Dokumente.

Um zu überprüfen, ob diese Information eventuell bereits vorliegt, kann man sich über das  Kernergebnisse der Suche Webpart die reinen XML-Daten anzeigen lassen.

Dies lässt sich über folgenden Weg realisieren:

1.) Aufrufen der Results.aspx des Suchcenters und Wechsel in den Bearbeitungsmodus der Seite

2.) Wechsel in den Bearbeitungsmodus des Webparts Kernergebnisse der Suche

3.) Dort im Bereich Eigenschaften anzeigen den Haken bei Speicherortvisualisierung verwenden entfernen

4.) Im XSL-Editor den vorhandenen Standardcode (vorher z.B. in eine Textdatei kopieren) durch folgenden ersetzen

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xmp><xsl:copy-of select="*"/></xmp>
</xsl:template>
</xsl:stylesheet>

5.) Den Bearbeitungsmodus des Webpart beenden und die Seite speichern

Die Suchergebnisseite liefert jetzt bei einer neuen Suchanfrage die reinen XML-Daten als Ergebnis zurück und tatsächlich beinhalt die Eigenschaft sitename genau die benötigten Informationen.

x01qldzp.px3

Diese Eigenschaft muss jetzt also nur noch an geeigneter Stelle im Standardcode abgefragt und der entsprechende Link erstellt werden.

Dafür müssen im zuvor herauskopierten Standardcode die folgenden Zeilen ergänzt werden:

<a>
  <xsl:attribute name="href">
  <xsl:value-of select="sitename"/>
  </xsl:attribute>
  Ort des Elementes  
</a>

In diesem Fall z.B. unter dem Template Aufruf <xsl:call-template name=“ViewInBrowser“> …</xsl:call-template>

Anschließend muss der Bearbeitungsmodus des Webparts beendet und die Seite gespeichert werden.

Bei der nächsten Suchabfrage erscheint jetzt der gewünschten Link.

1so0gafe.xiu

Sofern der Wunsch besteht, den Link nur bei bestimmten Elementen anzuzeigen, so lässt sich dies über IF-Abfragen im XSLT realisieren. Hier ein Beispiel, bei dem eine Überprüfung dafür sorgt, dass nur bei Dokumenten der Link angezeigt wird:

<xsl:if test="isdocument = 'True'">
  <a>
  <xsl:attribute name="href">
  <xsl:value-of select="sitename"/>
  </xsl:attribute>
  Ort des Elementes
  </a>
</xsl:if>

Ein Gedanke zu “Anpassung der Suchergebnisseite
avatar

  1. Pingback: Anpassung der Suchergebnisseite - SharePoint Blogs in German - Bamboo Nation

Schreibe einen Kommentar