SharePoint 2010搜索结果文件图标更改



我正在尝试将aspx文件图标从默认图标更改为自定义图标。我为本节编辑了results.aspx页面"获取的属性"的xsl。我想确保为具有"LegalDocument"内容类型的项目显示LegalDoc16.gif图标。如果我不需要正确配置语法,请告诉我。我可以像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>

我认为有一个错误阻止了ContentType元数据属性的使用(请参阅http://social.msdn.microsoft.com/Forums/en/sharepoint2010general/thread/cd059e1c-7af6-454c-8568-a22e7755ce8c)

您需要创建一个新的托管元数据属性,并将其映射到ows_ContentType已爬网属性(我称之为mine 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>

第页。S.这个问题可能是我认为我的xslt格式可能不正确的重复。

一切都很好。在运行powershell之前,我所要做的就是转到文档库,添加一个基于Linked to document的文件(并删除测试上传文件)。在那之后,它起了作用。

最新更新