Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Le petit blog de Pierre / Pierre's little blog

Sharepoint, .NET, IW (Information Worker) solutions, pour le fun et le partage / for fun and sharing Pierre VIVIER-MERLE - MVP SharePoint

Applications I Like

I, Pierre :-)

[SharePoint 2010] Personnalisation du Content Query WebPart – Comment afficher correctement les derniers documents

Bonjour à tous,                                                          (See the english version)

Ce post concerne la personnalisation du Content Query WebPart (CQWP) dans SharePoint Server 2010. Cette personnalisation permet l’affichage par ce dernier de liste de documents d’une manière correcte.

Il est vrai que par défaut, le CQWP est plus spécialisé sur les contenus de type “news”, comme expliqué ci-après dans le post What’s New with the Content Query Web Part : http://blogs.msdn.com/b/ecm/archive/2010/05/14/what-s-new-with-the-content-query-web-part.aspx. Dans mon cas, je veux afficher les documents avec leur titre, date de modification et auteur.

Je vais en faire la démonstration en ajoutant un template dans le fichier ItemStyle.xsl.

1. Pour trouver le fichier, utiliser SharePoint Designer 2010 et aller sur All Files > Style Library > XSL Style Sheets

2. Copier le noeud entier appelé <xsl:template name=“WithDocIcon” /> :

3. Le coller après ce même noeud dans le but de le dupliquer

4. Renommer la 1ère ligne ainsi : <xsl:template name="ForDocuments" match="Row[@Style='ForDocuments']" mode="itemstyle">
(ou autre nom –> attention de modifier également @Style)

5. Après le noeud <xsl:variable name="DisplayTitle"/>, ajouter le suivant :

<xsl:variable name="DisplayAuthor">
     <xsl:call-template name="OuterTemplate.GetTitle">
         <xsl:with-param name="Title" select="''"/>
         <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
         <xsl:with-param name="UseFileName" select="1"/>
     </xsl:call-template>
</xsl:variable>

Ceci va ajouter une colonne de paramétrage supplémentaire dans le paneau de configuration du webpart (voir en dessous).

6. Changer le dernier <div /> par :

<!--<div class="description">-->
        | <xsl:value-of select="@Description" /> - <xsl:value-of select="@Author" />
<!--</div>—>

7. Sauver le fichier et le publier. A noter que le fichier ne va plus se reposer sur le site definition.

8. Ajouter un content query webpart et le paramétrer de la sorte :

9. Le WebPart s’affiche de la sorte :

Note: Ci-dessous vous trouverez l’ensemble du template XSL :

<xsl:template name="ForDocuments" match="Row[@Style='ForDocuments']" mode="itemstyle">
     <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="''"/>
              <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
              <xsl:with-param name="UseFileName" select="1"/>
          </xsl:call-template>
     </xsl:variable>
     <xsl:variable name="DisplayAuthor">
          <xsl:call-template name="OuterTemplate.GetTitle">
              <xsl:with-param name="Title" select="''"/>
              <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
              <xsl:with-param name="UseFileName" select="1"/>
          </xsl:call-template>
     </xsl:variable>

     <div class="item link-item">
         <xsl:if test="string-length(@DocumentIconImageUrl) != 0">
             <div class="image-area-left">
                 <img class="image" src="{@DocumentIconImageUrl}" title="" />
             </div>
         </xsl:if>
         <div class="link-item">
             <xsl:call-template name="OuterTemplate.CallPresenceStatusIconTemplate"/>
             <a href="{$SafeLinkUrl}" title="{@LinkToolTip}">
                 <xsl:if test="$ItemsHaveStreams = 'True'">
                   <xsl:attribute name="onclick">
                     <xsl:value-of select="@OnClickForWebRendering"/>
                   </xsl:attribute>
                 </xsl:if>
                 <xsl:if test="$ItemsHaveStreams != 'True' and @OpenInNewWindow = 'True'">
                   <xsl:attribute name="onclick">
                     <xsl:value-of disable-output-escaping="yes" select="$OnClickTargetAttribute"/>
                   </xsl:attribute>
                 </xsl:if>
                 <xsl:value-of select="$DisplayTitle"/>
             </a>
             <!--<div class="description">-->
                     | <xsl:value-of select="@Description" /> - <xsl:value-of select="@Author" />
             <!--</div>-->
         </div>
     </div>
</xsl:template>

Amusez vous bien !

Pierre Vivier-Merle

Posted: vendredi 29 octobre 2010 00:22 par pierre
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01