Jak MOSS wybiera ikonkę przypisaną do pojedynczego elementu w wynikach wyszukiwania?
Wyszukiwarka najpierw próbuje znaleźć ikonę w oparciu o content-class. Jeśli ta czynność się nie udaje - robi to na podstawie rozszerzenia pliku. Aby znaleźć ikonę opartą o rozszerzenie pliku wyszukiwarka używa tego samego mechanizmu, co WSS w bibliotece dokumentów, czyli czyta plik docicon.xml którym zdefiniowane są rozszerzenia plików i przypisane odpowiednie ikony.
Jeśli indeksujesz pliki udostępnione (file share), może zdarzyć się, że pliki zawierające w nazwie znak hash („#”)zostaną niepoprawnie zinterpretowane przez indekser i zostanie źle przypisany typ pliku. Zostało to odnotowane, jako błąd. Zanim błąd zostanie naprawiony możemy sami „usprawnić” wyświetlanie wyników.
1) Przejdz do strony prezentującej wyniki wyszukiwania i edytuj ją.
2) W webparcie Search Core Results Modify Shared Web.
3) Kliknij przycisk XSL Editor… w celu zmiany XSL:
4) Backup the XSL before changing it.
5) Znajdź poniższą linie kodu:
<img align="absmiddle" src="{imageurl}" border="0" alt="{imageurl/@imageurldescription}" />
I zamień ją na poniższy kod:
<xsl:choose>
<xsl:when test="contains($url, '#')">
<xsl:variable name="ext" select="substring-after($url, '.')"/>
<img align="absmiddle" src="/_layouts/images/ic{$ext}.gif" border="0" alt="File with extension: {$ext}" />
</xsl:when>
<xsl:otherwise>
<img align="absmiddle" src="{imageurl}" border="0" alt="{imageurl/@imageurldescription}" />
</xsl:otherwise>
</xsl:choose>
6) Kliknij OK i Zastosuj