Partager via


Procédure : modifier les pages de formulaire et d'affichage de liste mobiles

Dernière modification : mercredi 2 février 2011

S’applique à : SharePoint Foundation 2010

Cette rubrique présente une vue d’ensemble de la procédure de base permettant de personnaliser les pages de formulaire et d’affichage de liste Microsoft SharePoint Foundation accessibles aux périphériques mobiles. Pour une procédure détaillée, voir Procédure pas à pas : personnalisation d'une page mobile d'affichage de liste. Pour une vue d’ensemble de la personnalisation des pages d’accueil de l’affichage mobile, voir Procédure : personnaliser les pages d'accueil de l'affichage mobile.

Comme décrit dans Système de rendu des pages mobiles, chaque contrôle dans les zones de l’en-tête (Title), du corps (Contents) et du pied de page (Navigation) d’un formulaire d’éléments de liste ou d’une page d’affichage de liste mobile démarre une chaîne d’appels dont la destination finale est un objet RenderingTemplate qui affiche la zone correspondante de la page mobile. Il s’agit presque toujours d’un contrôle RenderingTemplate avec un ID segmenté. En l’absence de contrôle RenderingTemplate avec un nom correspondant, un modèle par défaut est utilisé. Cela signifie que vous pouvez personnaliser l’en-tête, le corps ou le pied de page en créant un contrôle RenderingTemplate avec l’ID qui sera recherché par le runtime.

Le runtime recherche notamment un ID RenderingTemplate qui présente le format suivant :

UtilisationListeSouhaitée_IDTypeListe_TypePage_ZonePage

Les espaces réservés UtilisationPageSouhaitée, IDTypeListe, TypePage et ZonePage, sont définis dans ID de modèle de rendu segmentés. Dans une page d’affichage de liste ou un formulaire d’éléments, les valeurs possibles pour TypePage sont DispForm, NewForm, EditForm, et DeletePage.

Pour plus d’informations sur les sections d’une page mobile, voir Mise en page et pagination des pages mobiles.

Pour des espaces réservés UtilisationPageSouhaitée, IDTypeListe, TypePage et ZonePage, spécifiques, en l’absence de contrôle RenderingTemplate avec un nom correspondant, un modèle portant le nom « Default » à la place de l’espace réservé IDTypeListe est utilisé :

UtilisationPageSouhaitée_Default_TypePage_ZonePage

Par exemple, si le runtime recherche un contrôle RenderingTemplate avec l’ID Mobile_Announcements_View_Contents, la recherche est infructueuse (si aucun modèle personnalisé portant ce nom n’a été ajouté). Par conséquent, il utilise Mobile_Default_View_Contents, qui existe effectivement, pour afficher la zone de corps (contenu) de la page d’affichage de liste pour une liste d’annonces.

Par conséquent, pour personnaliser le rendu du corps (contenu) de cet affichage de liste, vous pouvez créer un élément RenderingTemplate avec l’ID Mobile_Announcements_View_Contents (ou Mobile_104_View_Contents) dans un fichier .ascx que vous déployez sur %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates. Vous ne pouvez pas modifier les fichiers MobileDefaultTemplates.ascx ou GbwMobileDefaultTemplates.ascx. Pour plus d’informations sur la création d’un modèle de rendu personnalisé pour un formulaire ou une page d’affichage de liste, voir la procédure ci-après et Procédure pas à pas : personnalisation d'une page mobile d'affichage de liste.

Modèles de rendu existants

Des douzaines d’objets RenderingTemplate pour les formulaires et les pages d’affichage de liste mobiles sont inclus dans les fichiers MobileDefaultTemplates.ascx ou GwbMobileDefaultTemplates.ascx installés avec SharePoint Foundation. En voici quelques exemples.

  • Mobile_Events_DispForm_Navigation

  • Mobile_Comments_View_Navigation

  • Mobile_Posts_DeletePage_Navigation

  • Mobile_425_View_Navigation

  • MobileFolder_DocumentLibrary_View_Navigation

  • MobileDailyView_Events_View_Navigation

Vous ne pouvez pas modifier les fichiers MobileDefaultTemplates.ascx ou GwbMobileDefaultTemplates.ascx. Vous pouvez créer un nouveau contrôle RenderingTemplate (dans votre propre fichier .ascx) portant le même ID que l’un des modèles de rendu existants, mais si vous effectuez cette opération, vous risquez de porter préjudice aux autres solutions déployées dans SharePoint Foundation qui reposent sur le contrôle RenderingTemplate d’origine portant le même ID.

Notes

Les éléments RenderingTemplate fournis avec SharePoint Foundation étant chargés avant les modèles personnalisés, lorsqu’un modèle personnalisé portant le même nom que l’un des modèles de rendu existants est chargé, le modèle personnalisé substitue le modèle d’origine. Si plusieurs objets RenderingTemplate personnalisés portent le même nom, celui dont le nom de fichier occupe la dernière position dans l’ordre alphabétique remplace tous les autres. Si un fichier spécifique possède deux ou plusieurs modèles de rendu portant le même nom, aucun d’eux n’est chargé.

En outre, les éléments RenderingTemplate par défaut suivants sont définis dans le même fichier. Ils sont utilisés par le runtime chaque fois qu’un objet RenderingTemplate pour le type de liste actuel n’est pas défini. Le même risque est présent si vous créez un nouvel objet RenderingTemplate avec l’un de ces noms :

  • Mobile_Default_DeletePage_Contents

  • Mobile_Default_DeletePage_Navigation

  • Mobile_Default_DeletePage_Title

  • Mobile_Default_DispForm_Contents

  • Mobile_Default_DispForm_Navigation

  • Mobile_Default_DispForm_Title

  • Mobile_Default_EditForm_Contents

  • Mobile_Default_EditForm_Navigation

  • Mobile_Default_EditForm_Title

  • Mobile_Default_NewForm_Contents

  • Mobile_Default_NewForm_Navigation

  • Mobile_Default_NewForm_Title

  • Mobile_Default_View_Contents

  • Mobile_Default_View_Navigation

  • Mobile_Default_View_Title

  • MobileDailyView_Default_View_Navigation

  • MobileFolder_Default_View_Title

  • MobileFolder_Default_View_Navigation

Vous pouvez imbriquer des objets RenderingTemplate. Voir l’exemple ci-dessous.

Pour personnaliser une section d'une page de formulaire ou d'affichage de liste mobile

  1. Dans Microsoft Visual Studio, créez un projet SharePoint vide. Définissez-le en tant que solution de batterie de serveurs, non en tant que solution en bac à sable (sandbox).

  2. Ajoutez un dossier mappé SharePoint à TEMPLATE\ControlTemplates.

  3. Cliquez avec le bouton droit sur le nouveau dossier et ajoutez un contrôle utilisateur SharePoint. Attribuez au fichier ascx un nom qui le différencie de ceux des autres fournisseurs de solutions, par exemple, modèles_rendu_mobile_contoso.ascx. Visual Studio ajoute automatiquement le fichier au manifeste de solution SharePoint et le configure afin qu’il soit déployé sur %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates.

    ConseilConseil

    N’ajoutez pas le contrôle utilisateur en cliquant avec le bouton droit sur le projet dans l’Explorateur de solutions. Lorsqu’un contrôle utilisateur est ajouté de la sorte, Visual Studio le place dans un sous-dossier de TEMPLATE\ControlTemplates. S’il n’est pas déplacé, Visual Studio le déploie dans un sous-dossier correspondant de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates. Les modèles de rendu mobile situés dans des sous-dossiers ne sont pas chargés.

  4. Supprimez les fichiers .ascx.cs et .ascx.designer.cs (ou .ascx.vb et .ascx.designer.vb). Ils ne sont pas nécessaires pour ce projet.

  5. Remplacez toute la section de directives du fichier ascx par le marquage suivant :

    <%@ Register TagPrefix="GroupBoardMobile"   Namespace="Microsoft.SharePoint.Applications.GroupBoard.MobileControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    <%@ Control Language="C#"   %> 
    <%@ Assembly Name="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
    <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" %> 
    <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
    <%@ Register TagPrefix="SPMobile" Namespace="Microsoft.SharePoint.MobileControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
    <%@ Register TagPrefix="WPMobile" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
    
  6. Ajoutez un modèle de rendu dans le fichier .ascx et attribuez-lui un ID dans le format suivant : UtilisationListeSouhaitée_IDTypeListeTypePage_ZonePage.

    • UtilisationListeSouhaitée correspond à Mobile, MobileFolder ou MobileDailyView.

    • IDTypeListe est soit un numéro d’identification du type de liste actuel (par exemple 105) ou une des valeurs de l’énumération SPListTemplateType (par exemple Contacts).

    • TypePage peut être View, NewForm, EditForm, DispForm ou DeletePage.

    • ZonePage peut être Title, Contents ou Navigation.

  7. Sélectionnez Déployer la solution dans le menu Générer. Cette opération enregistre automatiquement le fichier .ascx, le déploie dans %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates et recycle l’application Web, ce qui permet de recharger tous les fichiers .ascx situés dans ce dossier.

Exemple

L’exemple suivant d’une définition RenderingTemplate illustre l’imbrication d’objets RenderingTemplate. L’exemple montre un modèle personnalisé RenderingTemplate pour le pied de page d’une page d’affichage de liste affichant le type de liste 104 (Annonces). Pour un exemple détaillé de personnalisation d’une page d’affichage de liste, voir Procédure pas à pas : personnalisation d'une page mobile d'affichage de liste.

<SharePoint:RenderingTemplate RunAt="Server" ID="Mobile_104_View_Navigation">
  <Template>
    <mobile:Link RunAt="Server" 
      Text="ASP.NET Website" href="https://www.asp.net" />
    <mobile:Label RunAt="Server" Text="" BreakAfter="True" />
    <SPMobile:SPMobileComponent RunAt="Server" 
      TemplateName="Mobile_Default_View_Navigation" />
  </Template>
</SharePoint:RenderingTemplate>

Voir aussi

Tâches

Procédure pas à pas : personnalisation d'une page mobile d'affichage de liste

Procédure : personnaliser les pages d'accueil de l'affichage mobile

Concepts

Mise en page et pagination des pages mobiles

Procédure pas à pas : personnalisation de la page d’accueil mobile par le biais de la redirection

Système de rendu des pages mobiles