Partager via


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

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 une page d’accueil Microsoft SharePoint Foundation accessible aux périphériques mobiles. Pour une procédure détaillée, voir Procédure pas à pas : personnalisation de la page d'accueil de l'affichage mobile. Pour une vue d’ensemble de la façon de personnaliser l’affichage de liste et les pages de formulaire, voir Procédure : modifier les pages de formulaire et d'affichage de liste mobiles.

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’une page d’accueil de l’affichage 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 :

UtilisationPageSouhaitée_IDTypeSite_HomePage_ZonePage

Les espaces réservés UtilisationPageSouhaitée, IDTypeSite et ZonePage sont définis dans ID de modèle de rendu segmentés. 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, IDTypeSite 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é IDTypeSite est utilisé :

UtilisationPageSouhaitée_Default_HomePage_ZonePage

Par exemple, si le runtime recherche un contrôle RenderingTemplate avec l’ID WebPartMobile_STS_HomePage_Title, la recherche est infructueuse (si aucun modèle personnalisé portant ce nom n’a été ajouté). Par conséquent, il utilise WebPartMobile_Default_HomePage_Title, qui existe effectivement, pour afficher la zone d’en-tête (titre) de la page d’accueil de l’affichage mobile pour un site STS.

Par conséquent, pour personnaliser le rendu de l’en-tête de la page d’accueil de l’affichage mobile pour un site STS, vous pouvez créer un élément RenderingTemplate avec l’ID WebPartMobile_STS_HomePage_Title 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 une page mobile, voir la procédure ci-après et Procédure pas à pas : personnalisation de la page d'accueil de l'affichage mobile.

Modèles de rendu existants

Voici les contrôles RenderingTemplate pour les pages d’accueil de l’affichage mobile qui existent déjà dans MobileDefaultTemplates.ascx ou GbwMobileDefaultTemplates.ascx lorsque SharePoint Foundation est installé.

  • Mobile_STS_HomePage_Title

  • Mobile_STS_HomePage_Contents

  • WebPartMobile_SGS_HomePage_Contents

  • WebPartMobile_STS_HomePage_Contents

Vous pouvez créer un nouvel élément RenderingTemplate (dans votre propre fichier .ascx) avec le même ID que l’un de ces modèles de rendu existants, mais, dans ce cas, vous risquez de porter préjudice aux autres solutions déployées dans SharePoint Foundation et qui dépendent de l’objet RenderingTemplate d’origine.

Notes

Les modèles de rendu qui sont fournis avec SharePoint Foundation étant chargés avant les modèles personnalisés, lorsqu’un modèle personnalisé possédant le même ID que l’un des modèles de rendu existants est chargé, il substitue le modèle d’origine. Si deux ou plusieurs modèles de rendu personnalisés ont le même ID, 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 détenant le même ID, aucun d’entre eux n’est chargé.

Les objets RenderingTemplate suivants sont également définis dans les fichiers MobileDefaultTemplates.ascx ou GbwMobileDefaultTemplates.ascx. Ils sont utilisés par le runtime chaque fois qu’un objet RenderingTemplate pour le type de site actuel n’est pas défini. (Par conséquent, ces modèles contrôlent le rendu de page d’accueil pour toutes les pages d’un site Web basé sur une définition de site personnalisée, sauf si un modèle de rendu personnalisé avec l’ID UtilisationPageSouhaitée_ NumIDSitePersonnalisé_HomePage_ZonePage est créé.) Le même risque est présent si vous créez un nouvel objet RenderingTemplate avec l’un de ces ID.

  • Mobile_Default_HomePage_Title

  • Mobile_Default_HomePage_Contents

  • Mobile_Default_HomePage_Navigation

  • WebPartMobile_Default_HomePage_Title

  • WebPartMobile_Default_HomePage_Contents

  • WebPartMobile_Default_HomePage_Navigation

  • WebPartMobileDetail_Default_HomePage_Contents

  • WebPartMobileDetail_Default_HomePage_Navigation

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

Pour personnaliser une section d'une page d'accueil de l'affichage 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 : UtilisationPageSouhaitée_IDTypeSite_HomePage_ZonePage.

    • UtilisationPageSouhaitée correspond à Mobile, WebPartMobile ou WebPartMobileDetail.

    • IDTypeSite peut être STS, SGS, BLOG ou le numéro d’identification (pas le nom) de toute définition de site personnalisé. (L’ID d’une définition de site est défini avec l’attribut ID d’un élément Template dans un fichier WebTemp.xml. Pour plus d’informations sur l’attribut ID d’une définition de site, voir WebTemp.xml.)

    • 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 montre comment vous pouvez imbriquer des contrôles RenderingTemplate. Dans ce cas, le modèle personnalisé ajoute un lien vers la page mobile Microsoft au pied de page, puis appelle simplement le modèle de rendu de pied de page par défaut pour afficher le reste du pied de page.

Si l’appareil mobile n’est pas en mesure d’afficher du texte enrichi, la page d’accueil STS mobile est mblwp.aspx et le nouveau lien est ajouté au dessus du pied de page.

Si l’appareil est en mesure d’afficher du texte enrichi, la page d’accueil STS mobile est mblwiki.aspx. Le contrôle dans la zone du pied de page (Navigation) de cette page n’appelle aucun modèle de rendu portant un nom segmenté, même pas indirectement. En particulier, WebPartMobile_STS_HomePage_Navigation n’est pas appelé. Par conséquent, le pied de page de mblwiki.aspx ne peut pas être personnalisé de la manière décrite dans cette rubrique, si bien que la personnalisation décrite dans cet exemple s’avèrera initialement sans effet sur les appareils mobiles qui sont en mesure d’afficher du texte enrichi. Vous pouvez obliger un appareil de ce type à utiliser mblwp.aspx comme page d’accueil, en remplaçant (dans la zone d’adresse du navigateur mobile) la mention « wiki » dans mblwiki.aspx par « wp ». Étant donné que les zones d’en-tête (Title) et de corps (Contents) de mblwiki.aspx utilisent les mêmes modèles de rendu que les zones correspondantes dans mblwp.aspx, la procédure décrite dans cette rubrique permet de personnaliser les zones d’en-tête et de corps tant pour les appareils à même d’afficher du texte enrichi que pour ceux dépourvus de cette fonctionnalité.

Pour obtenir un autre exemple de personnalisation d’une page d’accueil de l’affichage mobile, voir Procédure pas à pas : personnalisation de la page d'accueil de l'affichage mobile.

<SharePoint:RenderingTemplate ID="WebPartMobile_STS_HomePage_Navigation" RunAt="Server">
  <Template>
    <mobile:Link Text="Microsoft Mobile" href="http://mobile.microsoft.com/" RunAt="Server" />
    <SPMobile:SPMobileComponent TemplateName="WebPartMobile_Default_HomePage_Navigation" RunAt="Server" />
  </Template>
</SharePoint:RenderingTemplate>

Voir aussi

Tâches

Procédure pas à pas : personnalisation de la page d'accueil de l'affichage mobile

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

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