SharePoint 2010的搜索结果文件图标变化(SharePoint 2010 Search

2019-09-20 02:21发布

我试图改变从默认的图标,自定义图标ASPX文件图标。 我编辑的results.aspx页“获取属性”这一节的XSL。 我想确保LegalDoc16.gif图标显示谁拥有“LegalDocument”内容类型的项目。 请让我知道,如果我不要有syntaxed正确配置。 我可以这样做的ContentType搜索:“legaldocument”我得到的所有文件。 所以我知道的contentType元数据属性被拉出。 请建议。

  <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>

Answer 1:

我相信这是防止将contentType元数据属性正在使用中的错误(见http://social.msdn.microsoft.com/Forums/en/sharepoint2010general/thread/cd059e1c-7af6-454c-8568-a22e7755ce8c )

您需要创建一个新的托管元数据属性并将其映射到ows_ContentType爬网属性(我叫雷CTYPE),在此之后执行完全爬网(您可能需要先删除索引),以在搜索索引中可用的属性。

然后编辑搜索核心结果Web部件,并添加

 <Column Name="CType"/>

到撷取的属性(在显示属性)后<columns>

然后更新您的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>

PS这个问题是可能的重复,我认为我的XSLT可能无法正确格式化



Answer 2:

寄托都很好。 我不得不运行PowerShell的前做的,去到文档库,并添加基于链接到文档文件(并删除测试上传文件)。 之后,它的工作。



文章来源: SharePoint 2010 Search Result file icon change