Share via


Procédure : personnaliser le sélecteur d'éléments

Le sélecteur d'éléments est un outil qui permet aux créateurs d'insérer facilement une URL ou une image à partir d'une bibliothèque SharePoint ou d'une liste dans la collection de sites actuelle. Vous pouvez l'utiliser pour insérer un contenu sans taper l'URL qui pointe vers ce contenu. Cet outil 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 situé à gauche dans la fenêtre du sélecteur contient des raccourcis vers des bibliothèques SharePoint prédéfinies. Ces raccourcis sont conçus pour aider les créateurs à localiser rapidement et facilement un contenu sans avoir à parcourir les dossiers dans la collection de sites. Dans les sélecteurs d'images, ces raccourcis pointent sur :

  • 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 sur :

  • 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 qu'ils ont été 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 l'étendue 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 d'éléments démarrés à partir de ce contrôle affichent les raccourcis personnalisés spécifiés.

Personnalisation du sélecteur d'éléments 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 :

  1. Accédez à \Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\PublishingLayouts\PageLayouts et ouvrez un fichier .aspx de mise en page.

  2. 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.

  3. 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 liées à une collection de sites, pointant sur 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"/>
      
  4. 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 sur celui-ci, exécute le code JavaScript approprié pour lancer l'interface utilisateur du sélecteur d'éléments.

Vous pouvez utiliser les attributs suivants du contrôle <cms:AssetUrlSelector> pour personnaliser la boîte de dialogue du sélecteur d'éléments.

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 d'éléments au dernier emplacement utilisé. La première fois que vous utilisez le sélecteur d'éléments, 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 qui contient une fonction JavaScript à appeler lorsque la boîte de dialogue du sélecteur d'éléments 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. Le sélecteur d'images s'ouvre par défaut en mode Miniature. Si un utilisateur sélectionne une URL qui ne pointe pas sur 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.

La valeur par défaut est True.

AutoPostBack

Choisissez True pour que le sélecteur d'éléments 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 d'éléments. 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" />