2012-07-23 49 views
1

我正在嘗試將aspx文件圖標從默認圖標更改爲自定義圖標。我編輯了本部分的results.aspx頁面的「xsl」獲取屬性。我想確保爲具有「LegalDocument」內容類型的項目顯示LegalDoc16.gif圖標。請讓我知道,如果我不需要正確配置的語法。我可以像ContentType一樣進行搜索:「legaldocument」,並獲取所有文檔。所以我知道contenttype元數據屬性正在被拉。請建議。SharePoint 2010搜索結果文件圖標更改

<div class="srch-Icon" id="{concat($currentId,'_Icon')}"> 
    <xsl:choose> 
     <xsl:when test="string(ContentType)='LegalDocument'"> 
      <img align="absmiddle" src="_layouts/images/LegalDoc16.gif" border="0" alt="{imageurl/@imageurldescription}" /> 
     </xsl:when> 
     <xsl:otherwise> 
      <img align="absmiddle" src="{imageurl}" border="0" alt="{imageurl/@imageurldescription}" /> 
     </xsl:otherwise> 
    </xsl:choose> 
    </div> 

回答

0

Everthing很好。我在運行PowerShell之前必須做的所有事情,進入文檔庫並添加一個基於鏈接到文檔的文件(並刪除測試上傳文件)。之後,它的工作。

2

我相信這是防止將contentType元數據屬性正在使用中的錯誤(見http://social.msdn.microsoft.com/Forums/en/sharepoint2010general/thread/cd059e1c-7af6-454c-8568-a22e7755ce8c

你需要創建一個新的託管元數據屬性並將其映射到ows_ContentType爬網屬性(我稱爲mine CType),然後執行完全爬網(您可能需要先刪除索引)才能使該屬性在搜索索引中可用。

然後編輯搜索核心結果Web部件和後<columns>

添加

<Column Name="CType"/> 

來擷取的特性(在顯示屬性),那麼你的XML更新以下

<xsl:choose> 
    <xsl:when test="ctype = 'LegalDocument'"> 
     <img align="absmiddle" src="_layouts/images/LegalLinkedDocument.gif" border="0" alt="{imageurl/@imageurldescription}" /> 
    </xsl:when> 
    <xsl:otherwise> 
     <img align="absmiddle" src="{imageurl}" border="0" alt="{imageurl/@imageurldescription}" /> 
    </xsl:otherwise> 
</xsl:choose> 

附:這個問題可能是重複的I think my xslt may not be formatted correctly

相關問題