Библиотека документов: как изменить иконки для документов и как показать их в 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="http://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 (3)
  1. Anonymous says:

    Возможно ошибка живет тут src="/_layouts/images/ic{@DocIcon}.gif

    То есть перед _layouts нужен "/".

    Еще один возможный вариант что та картинка которая вам нужна не называется ic<что-то там>

    Вообщем так, посмотрите что у вас возвращается в свойстве @DocIcon. Для этого просто выведите значение куда-нибудь на экран.

  2. Дмитрий says:

    Доброе время суток, можно как-то поподробнее объяснить как сделать так , что бы отображались иконки у документов (сейчас не отображаеться)

  3. Марк says:

    Отличная статья, кстати автору хочу предложить установить от яндекс.денег полезную фишку на сайт "Дай рубль". Я бы дал, так сказать на поддержание. 😉

Comments are closed.

Skip to main content