Библиотека документов: как изменить иконки для документов и как показать их в CQWP
??? ???????????? Content Query Web Part ????? ???????????? ?? ????, ??? ??? ? ?????? "Customizing the Content Query Web Part XSL" ?????? ??????? ??? ??? ????????.
?????? ??????????????? ??? ??????:
? ?????? ?????????? ?????????? ???? ??????? ???? DocIcon. ??? ????, ????? ????? ??????????? ??? ???????????? ?? XSL, ??? ?????????? ????????? ? ????? ??? ????? ? ???????? CommonViewFields:
<property name="CommonViewFields" type="string">DocIcon, Lookup;</property>
XSL ??????, ???????????? ???????? ? ??? ??????? ???????? ????.:
<xsl:stylesheet
version="1.0"
xmlns:xsl="https://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:ext="ext"
exclude-result-prefixes="msxsl ext">
<xsl:template name="DocLib" match="Row[@Style='DocLib']" mode="itemstyle">
<p>
<xsl:variable name="SafeLinkUrl">
<xsl:call-template name="OuterTemplate.GetSafeLink">
<xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="DisplayTitle">
<xsl:call-template name="OuterTemplate.GetTitle">
<xsl:with-param name="Title" select="@Title"/>
<xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="LinkTarget">
<xsl:if test="@OpenInNewWindow = 'True'" >_blank</xsl:if>
</xsl:variable>
<div >
<xsl:choose>
<xsl:when test="@DocIcon=''">
<img src="_layouts/images/folder.gif" alt="" />
</xsl:when>
<xsl:otherwise>
<img src="_layouts/images/ic{@DocIcon}.gif" alt="" />
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="OuterTemplate.CallPresenceStatusIconTemplate"/>
<a href="{$SafeLinkUrl}" target="{$LinkTarget}" title="{@LinkToolTip}" style="padding-left:5px;">
<xsl:value-of select="$DisplayTitle"/>
</a>
</div>
</p>
</xsl:template>
</xsl:stylesheet>
???? ?? ??????, ????? SP "???????" ?????? ??? ??????????? ??????????:
1) ?????????? ???? docicon.xml. ?? ????????? ? ????? Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\XML
2) ???????????? ? ??? ??? ????? ? ???????? ????????. ???????? ????????? ?????????? ? Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\Images
Comments
Anonymous
January 01, 2003
Возможно ошибка живет тут src="/_layouts/images/ic{@DocIcon}.gif То есть перед _layouts нужен "/". Еще один возможный вариант что та картинка которая вам нужна не называется ic<что-то там> Вообщем так, посмотрите что у вас возвращается в свойстве @DocIcon. Для этого просто выведите значение куда-нибудь на экран.Anonymous
April 16, 2009
Доброе время суток, можно как-то поподробнее объяснить как сделать так , что бы отображались иконки у документов (сейчас не отображаеться)Anonymous
May 18, 2009
Отличная статья, кстати автору хочу предложить установить от яндекс.денег полезную фишку на сайт "Дай рубль". Я бы дал, так сказать на поддержание. ;)