Procédure : personnaliser XSL pour le composant WebPart Requête de contenu
Vous pouvez utiliser le composant WebPart Requête de contenu pour agréger le contenu de plusieurs sources de données de votre site Web, et le présenter dans un seul emplacement. Avant de configurer et personnaliser le composant WebPart Requête de contenu, vous devez envisager la personnalisation et la conception du site que vous souhaiter obtenir. Microsoft Office SharePoint Server 2007 intègre trois fichiers XSL (Extensible Style Language) que vous pouvez modifier pour le rendu des champs dans des styles utilisés par le composant WebPart Requête de contenu pour afficher le contenu agrégé.
Cette rubrique identifie les trois fichiers XSL utilisés par le composant WebPart Requête de contenu et décrit leur fonctionnement ; identifie les modèles et les variables pouvant être modifiées ; et explique comment modifier les fichiers afin que le composant WebPart Requête de contenu effectue le rendu des données avec l'apparence spécifiée.
Le tableau suivant contient la liste et la description des trois fichiers XSL qui décrivent le composant WebPart Requête de contenu.
Fichier | Emplacement | Description |
---|---|---|
ContentQueryMain.xsl |
|
|
ItemStyle.xsl |
|
Contient les modèles qui définissent le mode d'affichage d'un élément. Ces modèles reçoivent et analysent une ligne de données à la fois, en s'assurant que le style et les données des lignes sont cohérents. Vous pouvez récupérer des données sur une ligne à l'aide de la directive |
Header.xsl |
|
Contient les modèles qui définissent le mode d'affichage d'un en-tête et assurent la cohérence d'en-têtes de groupes. Les modèles spécifiés dans le fichier Header.xsl reçoivent la ligne de l'élément suivant à traiter, généralement la première ligne d'un groupe, sauf s'il existe plusieurs colonnes. S'il existe plusieurs colonnes, les modèles reçoivent la première ligne de la colonne. Vous pouvez récupérer des données sur la ligne de l'élément suivant à l'aide de la directive |
Par défaut, les modèles suivants sont inclus dans les fichiers ItemStyle.xsl et Header.xsl. Le fichier Header.xsl contient les définitions des styles de groupe, alors que le fichier ItemStyle.xsl contient les définitions qui s'appliquent aux éléments des lignes dans le composant WebPart Requête de contenu. Ces styles correspondent aux options disponibles dans les listes déroulantes Style du groupe et Style d'élément qui s'affichent lorsque vous sélectionnez les styles dans la Bibliothèque de styles.
Notes
Dans les tableaux suivants, les modèles sont répertoriés dans leur ordre d'apparition dans les fichiers.
Nom du fichier | Modèle | Action du composant WebPart Requête de contenu |
---|---|---|
ItemStyle.xsl |
Default |
LinkImage se trouve à gauche. LinkTitle se trouve en haut. Description se trouve en bas. |
ItemStyle.xsl |
NoImage |
LinkTitle se trouve en haut. Description se trouve en bas. |
ItemStyle.xsl |
TitleOnly |
L'élément contient uniquement LinkTitle. |
ItemStyle.xsl |
Bullets |
L'élément contient LinkTitle précédé d'une puce. |
ItemStyle.xsl |
ImageRight |
LinkImage se trouve à droite. LinkTitle se trouve en haut. Description se trouve en bas. |
ItemStyle.xsl |
ImageTop |
LinkImage se trouve en haut. LinkTitle se trouve au centre. Description se trouve en bas. |
ItemStyle.xsl |
ImageTopCentered |
LinkImage se trouve en haut et centré. LinkTitle se trouve au centre. Description se trouve en bas. |
ItemStyle.xsl |
LargeTitle |
LinkImage se trouve à gauche. LargeLinkTitle se trouve en haut. Description se trouve en bas. |
ItemStyle.xsl |
ClickableImage |
Contient uniquement LinkImage. |
ItemStyle.xsl |
NotClickableImage |
Contient uniquement Image, sans lien. |
ItemStyle.xsl |
FixedImageSize |
LinkImage avec une contrainte de taille à gauche. LinkTitle se trouve en haut. Description se trouve en bas. |
ItemStyle.xsl |
TitleWithBackground |
Contient LinkTitle avec une couleur d'arrière-plan. |
Nom du fichier | Modèle | Action du composant WebPart Requête de contenu |
---|---|---|
Header.xsl |
DefaultHeader |
Affiche l'en-tête des groupes dans une police de taille moyenne. |
Header.xsl |
LargeText |
Affiche l'en-tête des groupes dans une police de grande taille. |
Header.xsl |
SmallText |
Affiche l'en-tête des groupes dans une police de petite taille. |
Header.xsl |
Band |
Affiche l'en-tête des groupes avec une couleur d'arrière-plan en carré. |
Header.xsl |
Centered |
Centre l'en-tête des groupes. |
Header.xsl |
Separator |
Insère une ligne entre l'en-tête des groupes et le contenu en-dessous. |
Header.xsl |
Whitespace |
Insère un espace entre l'en-tête des groupes et le contenu en dessous. |
Chaque modèle contient deux sections d'instructions de traitement :
les sections
<xsl:variable>
traitent les données et assurent la mise en forme appropriée.les sections
<div>
effectuent le rendu HTML et insèrent les données.
Le code du modèle ImageRight suivant est annoté avec des commentaires :
///Declares an XSL template named ImageRight that
///processes row style elements defined as ImageRight.
- <xsl:template name="ImageRight" match="Row[@Style='ImageRight']"
mode="itemstyle">
///The <xsl:variable> sections process and ensure correct formatting of the data.
///This section declares the variable named SafeLinkUrl, includes instructions to call the OuterTemplate.GetSafeLink function, and includes the LinkUrl expression to scope the call to the UrlColumnName parameter.
- <xsl:variable name="SafeLinkUrl">
/// The OuterTemplate.GetSafeLink variable passes in the UrlColumnName that represents the column name containing the ItemUrl.
- <xsl:call-template name="OuterTemplate.GetSafeLink">
<xsl:with-param name="UrlColumnName" select="'LinkUrl'" />
</xsl:call-template>
</xsl:variable>
///This section declares the variable named SafeImageUrl and calls the OuterTemplate.GetSafeStaticUrl function.
- <xsl:variable name="SafeImageUrl">
- <xsl:call-template name="OuterTemplate.GetSafeStaticUrl">
<xsl:with-param name="UrlColumnName" select="'ImageUrl'" />
</xsl:call-template>
</xsl:variable>
///This section declares the variable named SafeImageHtml and calls the OuterTemplate.GetColumnDataForUnescapedOutput function, and passes the 'PublishingRollupImage' and 'Image' parameter values to the template rule.
- <xsl:variable name="SafeImageHtml">
- <xsl:call-template name="OuterTemplate.GetColumnDataForUnescapedOutput">
<xsl:with-param name="Name" select="'PublishingRollupImage'" />
<xsl:with-param name="MustBeOfType" select="'Image'" />
</xsl:call-template>
</xsl:variable>
///This section declares the variable named DisplayTitle, includes calls to the OuterTemplate.GetTitle function, and passes the @Title and 'LinkUrl' parameter values to the template rule.
- <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>
///This section declares the variable named LinkTarget and tests whether it should open the target URL in a new window. If the test returns True, then the template rule processes the instruction to open the target URL in a new window.
- <xsl:variable name="LinkTarget">
<xsl:if test="@OpenInNewWindow = 'True'">_blank</xsl:if>
</xsl:variable>
///The <div> sections define the data to render and provide instructions on how to render it. This code block defines item data, and uses the OuterTemplate.CallPresenceStatusIconTemplate function to verify whether it should create an icon.
- <div class="item">
<xsl:call-template name="OuterTemplate.CallPresenceStatusIconTemplate" />
///The <xsl:if test> instruction supplies a condition for the XSLT engine to evaluate. If the test evaluates to True after converting it to a Boolean value, the ItemStyle renders the content.
- <xsl:if test="string-length($SafeImageUrl) = 0 and string-length($SafeImageHtml) != 0">
- <div class="image-area-right">
<xsl:value-of disable-output-escaping="yes" select="$SafeImageHtml" />
</div>
</xsl:if>
- <xsl:if test="string-length($SafeImageUrl) != 0">
- <div class="image-area-right">
- <a href="{$SafeLinkUrl}" target="{$LinkTarget}">
<img class="image" align="left" border="0" src="{$SafeImageUrl}" alt="{@ImageUrlAltText}" />
</a>
</div>
</xsl:if>
- <div class="link-item">
- <a href="{$SafeLinkUrl}" target="{$LinkTarget}" title="{@LinkToolTip}">
<xsl:value-of select="$DisplayTitle" />
</a>
- <div class="description">
<xsl:value-of select="@Description" />
</div>
</div>
</div>
</xsl:template>
Plusieurs fonctions sont disponibles pour être utilisées avec la section <xsl:variables>
des fichiers XSL Office SharePoint Server 2007, tel que décrit dans le tableau suivant.
Fonction | Description |
---|---|
|
Lorsque l'utilisateur passe à Si l'URL n'est pas fiable pour l'affichage, la fonction retourne une URL vide. Si l'élément n'est pas diffusé, la fonction retourne l'URL |
|
Lorsque l'utilisateur passe Si l'URL n'est pas fiable pour être affichée, la fonction retourne une URL vide. |
|
Lorsque l'utilisateur passe Lorsque l'utilisateur passe |
|
Lorsque l'utilisateur passe Si |
|
Lorsque l'utilisateur passe |
|
Lorsque l'utilisateur passe Retourne l'URL contenue dans la colonne. |
|
Si l'utilisateur effectue l'une des opérations suivantes :
Cette fonction retourne le texte de recherche et de remplacement approprié. |
|
Lorsque l'utilisateur passe |
|
Méthode Helper pour |
|
Lorsque l'utilisateur passe la valeur de la colonne Si la valeur est vide, la fonction retourne un nom de groupe vide. Lorsque l'utilisateur passe la valeur de la colonne |
|
Si l'attribut |
Pour ajouter un composant WebPart Requête de contenu et personnaliser le fichier XSL du composant WebPart Requête de contenu
Accédez à la page d'accueil de votre site, cliquez sur Actions du site, puis sur Modifier la page pour extraire la page en mode Édition.
Dans une des zones de composants WebPart, cliquez sur Ajouter un composant WebPart, puis sélectionnez et ajoutez un composant WebPart Requête de contenu.
Cliquez sur Modifier, puis sur Modifier le composant WebPart partagé.
Modifiez les propriétés et ajoutez des champs au composant WebPart Requête de contenu le cas échéant. Pour plus d'informations, voir Procédure : personnaliser le composant WebPart Requête de contenu à l'aide des propriétés personnalisées.
Notes
Lorsque vous modifiez le composant WebPart Requête de contenu, il y a deux listes déroulantes dans la section Styles : une pour le style de groupe et une pour le style d'élément. Ces éléments de liste sont définis par des modèles dans les fichiers ItemStyle.xsl et Header.xsl.
Modifiez les valeurs des instructions select, variables et expressions en modifiant le XSL, en utilisant les informations de référence de cette rubrique comme guide. Par exemple, vous pouvez modifier les valeurs des instructions
select
dans la section<div>
pour demander à l'expression de se résoudre en autre variable.
Pour créer un style d'élément
Identifiez un style semblable à celui que vous souhaitez créer.
Copiez le style et modifiez les valeurs de propriété
name
etmatch
:<xsl:template name="ImageRight" match="Row[@Style='ImageRight']" mode="itemstyle"> <xsl:template name="ImageRight2" match="Row[@Style='ImageRight2']" mode="itemstyle">
Voir aussi
Autres ressources
Procédure : personnaliser le composant WebPart Requête de contenu à l'aide des propriétés personnalisées
Procédure : personnaliser le format RSS pour le composant WebPart Requête de contenu
Procédure : afficher des champs personnalisés dans un composant WebPart Requête de contenu