Procédure : Personnaliser le sélecteur d’éléments
Dernière modification : mardi 13 juillet 2010
S’applique à : SharePoint Server 2010
Dans cet article
Personnalisation du sélecteur de biens au niveau de la mise en page
Ajoutez un contrôle AssetUrlSelector à toutes les pages .aspx de votre application
Exemple
Le sélecteur de biens est un outil qui permet aux créateurs de rechercher, trier et afficher facilement différents types de biens disponibles sur le site. Vous pouvez par exemple rechercher, afficher, puis insérer une URL ou une image à partir d’une bibliothèque ou d’une liste SharePoint Server dans la collection de sites actuelle. Vous pouvez utiliser cet outil pour insérer du contenu sans avoir à taper l’URL qui pointe vers ce contenu. Il est disponible dans de nombreux contrôles de champs dans les sites de publication, par exemple :
Le contrôle de champ Éditeur HTML
Le contrôle de champ Image
Le composant WebPart Liens de synthèse
Le volet Rechercher dans contient des raccourcis vers des bibliothèques SharePoint Server prédéfinies. Ces raccourcis sont conçus pour aider les créateurs à localiser rapidement et facilement du contenu sans avoir à parcourir les dossiers dans la collection de sites. Dans les sélecteurs d’images, ces raccourcis pointent vers :
la bibliothèque d’images du site actuel ;
la bibliothèque d’images de la collection de sites actuelle.
Dans les sélecteurs d’URL, ils pointent vers :
la bibliothèque de pages du site actuel ;
la bibliothèque de documents du site actuel ;
la bibliothèque de documents de la collection de sites actuelle.
Si vos créateurs ont souvent besoin d’insérer des documents qui ne se trouvent pas à ces emplacements par défaut, vous pouvez définir un autre raccourci pointant vers un autre emplacement de votre collection de sites. Vous pouvez définir un raccourci personnalisé vers des sélecteurs d’images et un autre vers des sélecteurs d’URL. Une fois définis, ces raccourcis s’affichent dans le volet Rechercher dans à côté des raccourcis par défaut. Vous pouvez définir des raccourcis personnalisés vers des sélecteurs uniquement dans la portée d’un contrôle : une fois que vous avez modifié le balisage d’un contrôle dans un fichier de modèle, seuls les sélecteurs de biens démarrés à partir de ce contrôle affichent les raccourcis personnalisés spécifiés.
Personnalisation du sélecteur de biens au niveau de la mise en page
Vous pouvez définir un raccourci de sélecteur personnalisé pour un contrôle RichHtmlField ou RichImageField à l’intérieur d’une mise en page :
Naviguez jusqu’à \Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES\PublishingLayouts\PageLayouts et ouvrez un fichier .aspx de mise en page.
Recherchez le contrôle de champ de publication associé au contrôle qui utilise le sélecteur d'éléments. Par exemple, <PublishingWebControls:RichHtmlField> représente le contrôle de champ Éditeur HTML.
Ajoutez un des attributs suivants, ou les deux, à cette balise :
DefaultAssetLocation : définit l'URL du raccourci personnalisé dans un sélecteur d'URL.
DefaultAssetImageLocation : définit l'URL du raccourci personnalisé dans un sélecteur d'images.
Ces adresses URL doivent être relatives à une collection de sites pointant vers une bibliothèque, une liste ou un autre emplacement dans votre collection de sites, tel que /ReusableContent.
Par exemple, le contrôle <PublishingWebControls:RichHtmlField> suivant définit les raccourcis personnalisés /URLpicker et /imagepicker respectivement pour les sélecteurs d'URL et d'images.
<PublishingWebControls:RichHtmlField id="Content" FieldName="PublishingPageContent" DefaultAssetLocation="/URLpicker" DefaultAssetImageLocation= "/imagepicker" runat="server"/>
De la même façon, le contrôle <PublishingWebControls:RichHtmlField> suivant définit un raccourci personnalisé pour son sélecteur d'images.
<PublishingWebControls:RichImageField id="Content" FieldName="PublishingPageImage" DefaultAssetImageLocation="/imagepicker" runat="server"/>
Enregistrez les modifications et fermez le fichier .aspx de mise en page.
Ajoutez un contrôle AssetUrlSelector à toutes les pages .aspx de votre application
Vous pouvez ajouter un contrôle serveur <cms:AssetUrlSelector> à n’importe quelle page .aspx de votre application. Ce contrôle serveur affiche un élément TextBox qui indique l’URL actuellement sélectionnée et un élément LinkButton qui, quand l’utilisateur clique dessus, exécute le code ECMAScript (JavaScript, JScript) approprié pour lancer l’interface utilisateur du sélecteur de biens.
Vous pouvez utiliser les attributs du contrôle <cms:AssetUrlSelector> répertoriés dans le Tableau 1 pour personnaliser la boîte de dialogue du sélecteur de biens.
Tableau 1. Attributs utilisés pour personnaliser la boîte de dialogue de sélecteur de biens
Attribut |
Description |
---|---|
DefaultOpenLocationUrl |
Définit l'emplacement par défaut où le sélecteur d'éléments doit être ouvert. |
DefaultsToLastUsedLocation |
Choisissez True pour ouvrir la fenêtre du sélecteur de biens au dernier emplacement utilisé. La première fois que vous utilisez le sélecteur de biens, il s’ouvre à l’emplacement spécifié par la propriété DefaultOpenLocationUrl. Choisissez False si vous souhaitez toujours l’ouvrir à l’emplacement spécifié dans DefaultOpenLocationUrl. |
DisplayLookInSection |
Choisissez True pour afficher une section Rechercher dans dans la fenêtre du sélecteur d'éléments. Sinon, choisissez False. |
OverrideDialogFeatures |
Remplace plusieurs propriétés dans la boîte de dialogue Sélecteur d'éléments. |
OverrideDialogTitle |
Définit le titre de la boîte de dialogue Sélecteur d'éléments. |
OverrideDialogDescription |
Définit la description affichée dans la partie supérieure de la boîte de dialogue Sélecteur d'éléments. |
OverrideDialogImageUrl |
Définit l'icône affichée en haut à droite dans la boîte de dialogue Sélecteur d'éléments. |
AssetTextClientID |
Lorsque cet identificateur est spécifié, il permet de trouver l'élément HTML de la valeur AssetText renvoyée par le sélecteur d'éléments. Il utilise par défaut le ClientID du contrôle TextBox enfant. |
AsserUrlClientID |
Lorsque cet identificateur est spécifié, il permet de trouver l'élément HTML de la valeur AssetUrl que renvoie le sélecteur d'éléments. Il utilise par défaut le ClientID du contrôle TextBox enfant. |
ClientCallback |
Chaîne contenant une fonction ECMAScript (JavaScript, JScript) à appeler lorsque la boîte de dialogue du sélecteur de biens renvoie une valeur. Il s'agit de String.Empty par défaut. |
UseImageAssetPicker |
Choisissez True pour utiliser la version de l'image du sélecteur d'éléments. Choisissez False pour utiliser la version URL du sélecteur de biens. Le sélecteur d’images s’ouvre par défaut en mode Miniature. Si un utilisateur sélectionne une URL qui ne pointe pas vers une image, l’application l’avertit. |
AllowExternalURLs |
Choisissez True pour que des URL externes puissent être spécifiées. La valeur par défaut est False. |
AssetUrlTextBoxVisible |
Choisissez False pour masquer la zone de texte de l'URL. La valeur par défaut est True. |
AssetPickerButtonVisible |
Choisissez False pour masquer le bouton qui lance la fenêtre du sélecteur de biens. La valeur par défaut est True. |
AutoPostBack |
Choisissez True pour que le sélecteur de biens effectue une publication automatique lorsque l’utilisateur modifie l’URL sélectionnée en tapant directement dans la zone de texte ou quand il sélectionne un autre élément dans la fenêtre du sélecteur de biens. La valeur par défaut est False. |
AsserUrlClientID |
Lorsque cet identificateur est spécifié, il permet de trouver l'élément HTML de la valeur AssetUrl renvoyée par le sélecteur d'éléments. Il utilise par défaut le ClientID du contrôle TextBox enfant. |
Exemple
Cet exemple de contrôle <cms:AssetUrlSelector> utilise plusieurs de ces attributs.
<CMS:AssetUrlSelector
DefaultOpenLocationUrl="~SiteCollection/"
DefaultToLastUsedLocation="false"
DisplayLookInSection="true"
OverrideDialogFeatures="resizable: no; status: yes; scroll: yes; help: no; dialogWidth:500px; dialogHeight:500px;"
OverrideDialogTitle="Custom Picker Title"
OverrideDialogDescription="Custom Picker Description"
OverrideDialogImageUrl="~Site/PublishingImages/AssetPickerLogo.jpg"
AssetTextClientID="testAssetTextClientIDCust"
ClientCallback="function(returnedUrl) { window.alert('ClientCallback[AssetTextClientID]: ' + returnedUrl); }"
id="assetSelectedImageCustomLauncher"
UseImageAssetPicker=true
runat="server" />
Voir aussi
Concepts
Modèle de programmation de gestion des biens numériques
Procédure : Personnaliser le contrôle de champ de l’éditeur HTML