Проблема: при просмотре документов в библиотеке приклике на иконку в колонке Тип (значок связи с документом) документ выделяется, но не открывается.
Решение.
Подробности можно почитать здесь:
Решение.
Подробности можно почитать здесь:
- SharePoint 2010: Clicking the icon in Type column is highlighting the item instead of launching the document
- SharePoint 2010 Library View - Type Linked to Document
- Создаем текстовый файл с именем fldtypes_docicon.xsl и содержимым:
<xsl:stylesheet xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" version="1.0" exclude-result-prefixes="xsl msxsl ddwrt" xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:ddwrt2="urn:frontpage:internal" ddwrt:oob="true">
<xsl:output method="html" indent="no"/>
<xsl:template ddwrt:dvt_mode="body" match ="FieldRef[@Name='DocIcon']" mode="Computed_DocIcon_body">
<xsl:param name="thisNode" select="."/>
<xsl:param name="folderUrlAdditionalQueryString" select="''"/>
<xsl:choose>
<xsl:when test="$thisNode/@FSObjType='1'">
<xsl:variable name="alttext">
<xsl:choose>
<xsl:when test="starts-with($thisNode/@ContentTypeId, "0x0120D5")">
<xsl:value-of select="$thisNode/../@itemname_documentset"/>: <xsl:value-of select="$thisNode/@FileLeafRef"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$thisNode/../@listformtitle_folder"/>: <xsl:value-of select="$thisNode/@FileLeafRef"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="mapico" select="$thisNode/@HTML_x0020_File_x0020_Type.File_x0020_Type.mapico"/>
<xsl:variable name="folderIconPath">
<xsl:call-template name="GetFolderIconSourcePath">
<xsl:with-param name="thisNode" select="$thisNode"/>
</xsl:call-template>
</xsl:variable>
<!-- This is a folder -->
<xsl:choose>
<xsl:when test="$RecursiveView='1'">
<img border="0" alt="{$alttext}" src="{$folderIconPath}" />
<xsl:choose>
<xsl:when test="$thisNode/@IconOverlay != ''">
<img src="/_layouts/images/{$thisNode/@IconOverlay.mapoly}" class="ms-vb-icon-overlay" alt="" title="" />
</xsl:when>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="FolderCTID">
<xsl:value-of select="$PagePathFinal" />RootFolder=<xsl:value-of select="$thisNode/@FileRef.urlencode" /><xsl:value-of select="$ShowWebPart"/>&FolderCTID=<xsl:value-of select="$thisNode/@ContentTypeId" />&View=<xsl:value-of select="$View"/><xsl:value-of select="$folderUrlAdditionalQueryString"/>
</xsl:variable>
<a href="{$FolderCTID}" onmousedown ="VerifyFolderHref(this, event, '{$thisNode/@File_x0020_Type.url}','{$thisNode/@File_x0020_Type.progid}','{$XmlDefinition/List/@DefaultItemOpen}', '{$thisNode/@HTML_x0020_File_x0020_Type.File_x0020_Type.mapcon}', '{$thisNode/@HTML_x0020_File_x0020_Type}', '{$thisNode/@serverurl.progid}')"
onclick="return HandleFolder(this,event,"{$PagePathFinal}RootFolder=" + escapeProperly("{$thisNode/@FileRef}") + '{$ShowWebPart}&FolderCTID={$thisNode/@ContentTypeId}&View={$View}{$folderUrlAdditionalQueryString}','TRUE','FALSE','{$thisNode/@File_x0020_Type.url}','{$thisNode/@File_x0020_Type.progid}','{$XmlDefinition/List/@DefaultItemOpen}','{$thisNode/@HTML_x0020_File_x0020_Type.File_x0020_Type.mapcon}','{$thisNode/@HTML_x0020_File_x0020_Type}','{$thisNode/@serverurl.progid}','{$thisNode/@CheckoutUser.id}','{$Userid}','{$XmlDefinition/List/@ForceCheckout}','{$thisNode/@IsCheckedoutToLocal}','{$thisNode/@PermMask}');">
<img border="0" alt="{$alttext}" title="{$alttext}" src="{$folderIconPath}" />
<xsl:choose>
<xsl:when test="$thisNode/@IconOverlay != ''">
<img src="/_layouts/images/{$thisNode/@IconOverlay.mapoly}" class="ms-vb-icon-overlay" alt="" title="" />
</xsl:when>
</xsl:choose>
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="$IsDocLib">
<a onfocus="OnLink(this)" href="{$thisNode/@FileRef}" onmousedown="return VerifyHref(this,event,'{$XmlDefinition/List/@DefaultItemOpen}','{$thisNode/@HTML_x0020_File_x0020_Type.File_x0020_Type.mapcon}','{$thisNode/@serverurl.progid}')"
onclick="return DispEx(this,event,'TRUE','FALSE','{$thisNode/@File_x0020_Type.url}','{$thisNode/@File_x0020_Type.progid}','{$XmlDefinition/List/@DefaultItemOpen}','{$thisNode/@HTML_x0020_File_x0020_Type.File_x0020_Type.mapcon}','{$thisNode/@HTML_x0020_File_x0020_Type}','{$thisNode/@serverurl.progid}','{$thisNode/@CheckoutUser.id}','{$Userid}','{$XmlDefinition/List/@ForceCheckout}','{$thisNode/@IsCheckedoutToLocal}','{$thisNode/@PermMask}')">
<xsl:choose>
<xsl:when test="not ($thisNode/@IconOverlay) or $thisNode/@IconOverlay =''">
<xsl:choose>
<xsl:when test="not ($thisNode/@CheckoutUser.id) or $thisNode/@CheckoutUser.id =''">
<img border="0" alt="{$thisNode/@FileLeafRef}" title="{$thisNode/@FileLeafRef}" src="/_layouts/images/{$thisNode/@HTML_x0020_File_x0020_Type.File_x0020_Type.mapico}"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="alttext"><xsl:value-of select="$thisNode/@FileLeafRef"/><xsl:text disable-output-escaping="yes" ddwrt:nbsp-preserve="yes"> </xsl:text><xsl:value-of select="$thisNode/../@managecheckedoutfiles_header_checkedoutby"/>: <xsl:value-of select="$thisNode/@CheckoutUser.title"/></xsl:variable>
<img border="0" alt="{$alttext}" title="{$alttext}" src="/_layouts/images/{$thisNode/@HTML_x0020_File_x0020_Type.File_x0020_Type.mapico}" />
<img src="/_layouts/images/checkoutoverlay.gif" class="ms-vb-icon-overlay" alt="{$alttext}" title="{$alttext}" />
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise >
<img border="0" alt="{$thisNode/@FileLeafRef}" title="{$thisNode/@FileLeafRef}" src="/_layouts/images/{$thisNode/@IconOverlay.mapico}" />
<img src="/_layouts/images/{$thisNode/@IconOverlay.mapoly}" class="ms-vb-icon-overlay" alt="" title="" />
</xsl:otherwise>
</xsl:choose>
</a>
</xsl:when>
<xsl:otherwise>
<img border="0" src="/_layouts/images/{$thisNode/@HTML_x0020_File_x0020_Type.File_x0020_Type.mapico}">
<xsl:attribute name="alt">
<xsl:value-of select="$thisNode/@Title"/>
</xsl:attribute>
<xsl:attribute name="title">
<xsl:value-of select="$thisNode/@Title"/>
</xsl:attribute>
</img>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet> - Сохранить файл и скопировать его на SharePoint сервер в папку c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\template\layouts\XSL
- Выполнить ресет IIS'а командой iisreset
No comments:
Post a Comment