Share via


Procedimiento para personalizar las páginas de vista de lista móvil y formulario

Última modificación: miércoles, 02 de febrero de 2011

Hace referencia a: SharePoint Foundation 2010

En este tema se proporciona una introducción al procedimiento básico para personalizar las páginas de vista de lista y de formulario de Microsoft SharePoint Foundation a las que pueden obtener acceso los dispositivos móviles. Para obtener un procedimiento detallado, vea Tutorial: Personalización de una página de vista de lista móvil. Para obtener una introducción al procedimiento para personalizar las páginas principales móviles, vea Procedimiento para personalizar las páginas principales móviles.

Como se describe en Sistema de representación de páginas móviles, los controles en las áreas de encabezado (título), cuerpo (contenido) y pie de página (navegación) de una página móvil de vista de lista o un formulario de elemento de lista de cada uno inician una cadena de llamadas que en última instancia da como resultado una llamada a un objeto RenderingTemplate que representa el área correspondiente de la página móvil. Casi siempre se trata de una plantilla RenderingTemplate con un identificador segmentado. Si no se encuentra una plantilla RenderingTemplate con un nombre que coincida, se usa una plantilla predeterminada. Esto significa que se puede personalizar el encabezado, cuerpo o pie de página, mediante la creación de una plantilla RenderingTemplate con el identificador que el tiempo de ejecución buscará.

Concretamente, el tiempo de ejecución busca un identificador de RenderingTemplate con el formato siguiente:

usoDestinadoDeLista_identificadorDeTipoDeLista_tipoDePágina_áreaDePágina

Los marcadores de posición usoDestinadoDePágina, identificadorDeTipoDeLista, tipoDePágina y áreaDePágina, se definen en Identificadores segmentados de plantilla de representación. En una página de vista de lista o formulario de elemento, los valores posibles para tipoDePágina son DispForm, NewForm, EditForm y DeletePage.

Para obtener más información acerca de las secciones de una página móvil, vea Diseño y paginación de las páginas móviles.

En el caso de usoDePáginaPrevisto, IDTipoDeLista, tipoDePágina y áreaDePágina, si no se encuentra una RenderingTemplate con un nombre coincidente, se usará "Default" en lugar de IDTipoDeLista:

usoDestinadoDePágina_Default_tipoDePágina_áreaDePágina

Por ejemplo, si el tiempo de ejecución busca una RenderingTemplate con el identificador Mobile_Announcements_View_Contents, no la encontrará (si no se ha agregado ninguna plantilla personalizada con ese nombre). Por lo tanto, usará Mobile_Default_View_Contents, que existe, para representar el área de cuerpo (contenido) de la página de vista de lista en una lista Anuncios.

Por lo tanto, si desea personalizar la representación del cuerpo (contenido) de esta vista de lista, puede crear un elemento RenderingTemplate con el identificador Mobile_Announcements_View_Contents (o Mobile_104_View_Contents) en un archivo .ascx implementado en %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates. No se pueden modificar los archivos MobileDefaultTemplates.ascx o GbwMobileDefaultTemplates.ascx. Para obtener más información sobre cómo crear una plantilla de representación personalizada para un formulario o página de vista de lista, vea el procedimiento de la siguiente sección y Tutorial: Personalización de una página de vista de lista móvil.

Plantillas de representación existentes

Decenas de objetos RenderingTemplate para los formularios y páginas de vista de lista se incluyen en los archivos MobileDefaultTemplates.ascx o GwbMobileDefaultTemplates.ascx que se instalan con SharePoint Foundation. A continuación, se muestran algunos ejemplos.

  • Mobile_Events_DispForm_Navigation

  • Mobile_Comments_View_Navigation

  • Mobile_Posts_DeletePage_Navigation

  • Mobile_425_View_Navigation

  • MobileFolder_DocumentLibrary_View_Navigation

  • MobileDailyView_Events_View_Navigation

No se pueden modificar los archivos MobileDefaultTemplates.ascx o GwbMobileDefaultTemplates.ascx. Puede crear una nueva RenderingTemplate (en su propio archivo .ascx) con el mismo identificador que una de las plantillas de representación existentes. No obstante, si lo hace correrá el riesgo de interrumpir otras soluciones implementadas en SharePoint Foundation que dependen de la RenderingTemplate original con el mismo identificador.

Nota

Los elementos RenderingTemplate que se incluyen en SharePoint Foundation se cargan antes que las plantillas personalizadas. Por ello, cuando se carga una plantilla personalizada con el mismo nombre que una de las plantillas de representación existentes, la plantilla personalizada invalida la plantilla original. Si varios objetos RenderingTemplate personalizados tienen el mismo nombre, el objeto con el último nombre por orden alfabético invalidará el resto. Si un archivo específico tiene dos o más plantillas de representación con el mismo nombre, no se carga ninguna de ellas.

Además, los siguientes elementos RenderingTemplate predeterminados se definen en el mismo archivo. El tiempo de ejecución los usa siempre que no se haya definido una RenderingTemplate para el tipo de lista actual. Existe el mismo riesgo si se crea un nuevo objeto RenderingTemplate con cualquiera de estos nombres:

  • 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

Se pueden anidar objetos RenderingTemplate. Vea el ejemplo siguiente.

Para personalizar una sección de una página de formulario o vista de lista móvil

  1. En Microsoft Visual Studio, cree un Proyecto de SharePoint vacío. Conviértalo en una solución de granja de servidores, en lugar de una solución de espacio aislado.

  2. Agregue una Carpeta asignada de SharePoint a TEMPLATE\ControlTemplates.

  3. Haga clic con el botón secundario en la nueva carpeta y agregue un Control de usuario de SharePoint. Asigne al archivo .ascx un nombre que lo distinga de los de otros proveedores de soluciones. Por ejemplo, ContosoMobileRenderingTemplates.ascx. Visual Studio agrega automáticamente el archivo al manifiesto de la solución de SharePoint y lo establece para que se implemente en %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates.

    SugerenciaSugerencia

    Para agregar el Control de usuario, no haga clic con el botón secundario en el proyecto en el Explorador de soluciones. Cuando se agrega un Control de usuario de ese modo, Visual Studio lo coloca en una subcarpeta de TEMPLATE\ControlTemplates. Si no se mueve, Visual Studio lo implementa en una subcarpeta correspondiente de %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\ControlTemplates. Las plantillas de representación móviles en las subcarpetas no se cargan.

  4. Elimine los archivos .ascx.cs y .ascx.designer.cs (o .ascx.vb y .ascx.designer.vb), ya que no son necesarios para este proyecto.

  5. Reemplace toda la sección de directivas del archivo .ascx con el siguiente marcado:

    <%@ 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. Agregue una plantilla de representación al archivo .ascx y asígnele un identificador con el siguiente formato: usoDeListaPrevisto_IDTipoDeListatipoDePágina_áreaDePágina.

    • usoDeListaPrevisto es Mobile, MobileFolder o MobileDailyView.

    • IDTipoDeLista es el número de identificación de un tipo de la lista actual (como 105) o uno de los valores de la enumeración SPListTemplateType (como Contacts).

    • El tipoDePágina puede ser View, NewForm, EditForm, DispForm o DeletePage.

    • El áreaDePágina puede ser Title, Contents o Navigation.

  7. Seleccione Implementar solución en el menú Generar. Se guardará automáticamente el archivo .ascx, se implementará en %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATES\ControlTemplates y se reciclará la aplicación web, de modo que todos los archivos .ascx en dicha carpeta se volverán a cargar.

Ejemplo

En el siguiente ejemplo de una definición de RenderingTemplate se muestra cómo se pueden anidar objetos RenderingTemplate. En el ejemplo se muestra una plantilla RenderingTemplate personalizada para el pie de página de una página de vista de lista que muestra el tipo de lista 104 (Anuncios). Para ver un ejemplo detallado acerca de cómo personalizar una página de vista de lista, vea Tutorial: Personalización de una página de vista de lista móvil.

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

Vea también

Tareas

Tutorial: Personalización de una página de vista de lista móvil

Procedimiento para personalizar las páginas principales móviles

Conceptos

Diseño y paginación de las páginas móviles

Procedimiento para personalizar la página principal móvil mediante redireccionamiento

Sistema de representación de páginas móviles