Sistema de representación de páginas móviles
En este tema se describe cómo Windows SharePoint Services 3.0 utiliza RenderingTemplates y los controles del selector de plantillas para representar las páginas a las que se puede tener acceso desde los dispositivos móviles.
Controles de la página
Las páginas móviles se representan con los controles RenderingTemplate, pero no se les hace referencia directamente en la página, sino que cada una de las tres secciones principales de la página (encabezado, contenido y pie de página) declara un control que usa la definición actual del sitio y el tipo de página actual para seleccionar un control RenderingTemplate que se declara en un archivo .ascx (ubicado en \Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES)
. Las RenderingTemplates que se incluyen con Windows SharePoint Services, se declaran en MobileDefaultTemplates.ascx
. Las plantillas personalizadas RenderingTemplates se declaran en los archivos .ascx personalizados en la misma carpeta.
Los tres tipos de controles que seleccionan controles RenderingTemplate en las páginas móviles son:
SPMobilePageTitle: selecciona el control RenderingTemplate que representará la sección del encabezado.
SPMobilePageContents: selecciona el control RenderingTemplate que representará la sección del cuerpo.
SPMobilePageNavigation: selecciona el control RenderingTemplate que representará la sección del pie de página.
El objeto SPMobilePageTitle, por ejemplo, se declara en la sección HeaderTemplate de la página principal de STS, mbllists.aspx
, tal y como se muestra a continuación:
<HeaderTemplate>
<SPMobile:SPMobileControlContainer RunAt="Server" Weightless="true">
<SPMobile:SPMobilePageTitle RunAt="Server" />
<SPMobile:SPMobileComponent TemplateName="MobileDefaultSeparator" RunAt="Server" />
</SPMobile:SPMobileControlContainer>
</HeaderTemplate>
Un objeto de una de estas clases selecciona un control RenderingTemplate en función del tipo de página actual que se solicite (como página principal, página de vista de lista o formulario de edición). Por ejemplo, en una página principal, SPMobilePageTitle llamará a un control RenderingTemplate con el identificador "MobileHomePageTitle" y en un formulario de nuevo elemento, SPMobilePageContents llamará a un control RenderingTemplate con el identificador "MobileNewFormContents".
Dentro del archivo .ASCX
Las RenderingTemplates que han llamado los controles en la página tienen un elemento Template cuyo valor es un objeto de una clase que deriva de SPMobileTemplateSelector. Existen nueve de estas clases:
-
Nota
La última de ellas se utiliza para que Windows SharePoint Services redirija los dispositivos móviles a una página principal personalizada. Este tema no se tratará en este artículo. Para obtener más información, consulte Cómo: Personalizar la página principal móvil mediante redireccionamiento.
Como sugiere el nombre de la clase de la que derivan, estos controles seleccionan otro control RenderingTemplate para representar realmente una parte de la página. Por ejemplo, el control RenderingTemplate de "MobileHomePageTitle" que se menciona en la sección Controles de la página tiene SPMobileWebTitle como el valor de su elemento Template. SPMobileWebTitle llama a un control RenderingTemplate que representará el área de encabezado (Título) de una página principal móvil.
Representación de secciones en una página principal móvil
Como se ha mencionado anteriormente, "MobileHomePageTitle" tiene SPMobileWebTitle como valor de su elemento Template. SPMobileWebTitle llama a un control RenderingTemplate que representará el área de encabezado (Título) de una página principal móvil. En concreto, buscará un control RenderingTemplate con un identificador de Mobile_identificadorDeTipoDeSitio_HomePage_Title, donde identificadorDeTipoDeSitio es el nombre o el número de identificador de la definición del sitio del actual sitio web. Para las definiciones de sitio que se incluyen con Windows SharePoint Services 3.0, identificadorDeTipoDeSitio puede ser STS o BLOG.
Nota
El acceso desde dispositivos móviles no es compatible con los sitios MPS, CENTRALADMIN y WIKI.
Para las definiciones de sitios personalizadas, identificadorDeTipoDeSitio es el número de identificador (no el nombre) de la definición del sitio. (El identificador de una definición de sitio se establece con el atributo ID de un elemento Template en un archivo WebTemp.xml
. Para obtener más información acerca del atributo ID de una definición de sitio, consulte WebTemp.xml.)
Si no existe ningún RenderingTemplate para la definición de sitio actual específica en ningún archivo .ascx en \Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES
, el sistema de representación utilizará Mobile_Default_HomePage_Title (que, a su vez, llamará a un control, SPMobileWeb, que simplemente representará el título del sitio web con un control Label). Para obtener más información acerca del uso de los controles RenderingTemplate de página principal que se incluyen con Windows SharePoint Services, consulte Procedimiento para personalizar las páginas principales móviles.
SPMobileWebContents y SPMobileWebNavigation seleccionan un control RenderingTemplate que representará, respectivamente, el área de contenido de la página principal, así como el área del pie de página (exploración) de una página principal móvil. Así, las tres primeras clases del selector buscarán los controles RenderingTemplate con identificadores en el modelo **Mobile_identificadorDeTipoDeSitio_HomePage_**áreaDePágina, donde áreaDePágina es el Title, el Contentso la Navigation.
Representación de secciones en la vista de lista y en las páginas de formulario
Las clases SPMobileListTitle, SPMobileListContents y SPMobileListNavigation se utilizan en la vista de lista y en las páginas de formulario. Cada una busca los controles RenderingTemplate con identificadores en el modelo **Mobile_identificadorDeTipoDeLista_tipoDePágina_**áreaDePágina, donde tipoDePágina es View, NewForm, EditForm, DispForm o DeletePage, e identificadorDeTipoDeLista es el número del identificador del tipo de la lista actual (como 105) o uno de los valores de la enumeración SPListTemplateType (como Contacts). Si la lista se especifica como parte del tipo de sitio en el archivo Onet.xml de la definición de sitio, identificadorDeTipoDeLista será el valor del atributo Type del elemento List en Onet.xml
, que se encuentra en el siguiente directorio: unidad_local:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SITETEMPLATES\
tipo_de_sitio\xml
. Si la lista se ha agregado al sitio en la interfaz de usuario, es decir, a la página Nueva (lista), entonces identificadorDeTipoDeLista será el identificador del tipo de lista que se ha utilizado como base del tipo de lista nueva. Esto se determina mediante el vínculo en que el usuario hace clic en la página Crear (create.aspx
) para obtener acceso a la página Nueva.
En la siguiente tabla se muestran los números de identificador de los tipos de lista que se incluyen con Windows SharePoint Services 3.0. También puede utilizar el número de identificador de los tipos de lista personalizados. Este último deberá tratarse de números mayores que 10000 para garantizar que no entren en conflicto con los números que Microsoft utilizará en futuras versiones de Windows SharePoint Services.
Identificador | Descripción |
---|---|
100 |
Lista genérica |
101 |
Biblioteca de documentos |
102 |
Encuesta |
103 |
Lista de vínculos |
104 |
Lista de anuncios |
105 |
Lista de contactos |
106 |
Lista de eventos |
107 |
Lista de tareas |
108 |
Panel de discusión |
109 |
Biblioteca de imágenes |
110 |
Orígenes de datos |
111 |
Galería de plantillas de sitio |
112 |
UserInformation |
113 |
Galería de elementos web |
114 |
Galería de plantillas de listas |
115 |
Biblioteca de formularios XML |
116 |
MasterPageCatalog |
117 |
NoCodeWorkflows |
118 |
WorkflowProcess |
119 |
WebPageLibrary |
120 |
Cuadrícula personalizada para una lista |
130 |
DataConnectionLibrary |
140 |
WorkflowHistory |
150 |
GanttTasks |
200 |
Lista de la serie de reuniones |
201 |
Lista de la agenda de reuniones |
202 |
Lista de asistentes a la reunión |
204 |
Lista de decisiones sobre reuniones |
207 |
Lista de objetivos de la reunión |
210 |
Cuadro de texto de la reunión |
211 |
Lista de cosas que traer a la reunión |
212 |
Lista de páginas del área de reuniones |
300 |
Lista de sitios del portal |
301 |
Entradas |
302 |
Comentarios |
303 |
Categorías |
1100 |
Seguimiento de problemas |
1200 |
AdminTasks |
2002 |
Biblioteca de documentos personal |
2003 |
Biblioteca de documentos privada |
Si no existe un control RenderingTemplate con un identificador que especifica el tipo de lista actual, se usa un control RenderingTemplate con un identificador en el modelo Mobile_Default_tipoDePágina_áreaDePágina. Para obtener más información acerca de cómo trabajar con los controlesRenderingTemplate de la lista la representación incluidos en Windows SharePoint Services, consulte Procedimiento para personalizar las páginas de vista de lista móvil y formulario.
Representación de campos
SPMobileListFieldSelector selecciona los controles RenderingTemplate que representan campos específicos en las páginas de vista de lista, nueva, de edición o de presentación. Busca un RenderingTemplate con un identificador que utiliza el siguiente modelo **MobileCustomListField_**identificadorDeTipoDeLista **_tipoDeCampo_**campo.
identifcadorDeTipoDeLista es el elemento descrito en la sección anterior. tipoDeCampo es el tipo de datos del campo. Puede ser cualquiera de los valores de la enumeración SPFieldType; por ejemplo, Text o Number. Además, puede ser un tipo de campo personalizado según la definición del elemento <Field Name="TypeName"> en el archivo fldtypes*.xml que define el tipo de campo personalizado. (Para obtener más información acerca de los tipos de campo personalizados, consulte Definición de tipo de campo personalizado).
Campo es el nombre interno del campo, como WorkPhone. Si el campo se especifica como parte de la lista en el archivo Schema.xml para la definición de lista, el nombre interno es el valor del atributo Name del elemento Field en schema.xml, que se encuentra en el siguiente directorio: unidad_local:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\
carpeta_de_características. Si el campo se agregó a la lista en la interfaz de usuario (es decir, en la página Crear columna), Campo es el valor de la propiedad Microsoft.SharePoint.SPField.InternalName y se puede encontrar sólo mediante el modelo de objetos.
Nota
Campo es el nombre interno del campo (columna) y no coincide necesariamente con el nombre para mostrar del campo. En el caso de los campos creados por los usuarios en la interfaz de usuario, el nombre interno lo genera el sistema a partir del nombre para mostrar elegido por el usuario (en el cuadro Nombre de columna de la página Crear columna). Si el usuario incluyó espacios o signos de puntuación en el nombre para mostrar, el sistema de representación de plantillas móviles no funcionará con el nombre interno generado y no podrá personalizar la representación de los campos.
Si no existe ningún control RenderingTemplate con el identificador buscado, se usa el control RenderingTemplate con el identificador MobileDefaultListField. Para obtener más información acerca de cómo trabajar con los controles RenderingTemplate de representación de campos que se incluyen con Windows SharePoint Services, consulte Procedimiento para personalizar la representación de campos en páginas móviles.
Diferencias entre la representación de campos para dispositivos móviles y la representación de campos para equipos
En Windows SharePoint Services 3.0, la representación de campos con controles de representación de campos personalizados para dispositivos móviles es similar a la representación de campos con controles de representación de campos personalizados para equipos. No obstante, tenga en cuenta las siguientes diferencias:
Las páginas móviles son un tipo totalmente diferente de páginas con respecto a las páginas no móviles y hacen referencia a un conjunto diferente de controles RenderingTemplate.
Los controles RenderingTemplate móviles se declaran en
MobileDefaultTemplates.ascx
, no enDefaultTemplates.ascx
.Los controles de representación de campos móviles tienen su propio espacio de nombres, Microsoft.SharePoint.MobileControls (en lugar de Microsoft.SharePoint.WebControls), y se derivan de clases del espacio de nombres de System.Web.UI.MobileControls de ASP.NET en lugar de System.Web.UI.WebControls.
La jerarquía de herencia para controles de representación de campos móviles es diferente de la de los controles de representación de campos habituales. Por ejemplo, las funciones de TemplateBasedControl y FormComponent en la representación de campos habitual se combinan en la clase SPMobileComponent.
Los controles de representación de campos personalizados que cree para contextos móviles se basan más en el método CreateChildControls del control para representar un campo y, en consecuencia, menos en la plantilla de representación en la que se basan los controles de representación de campos personalizados que se crean para exploradores de equipos. Además, en la representación de campos móviles, los controles no suelen reemplazar al método CreateChildControls en sí. En su lugar, se suelen reemplazar uno o varios de los otros cuatro métodos a los que se llama mediante CreateChildControls: CreateControlForDisplay, CreateControlForEdit, CreateControlForNew y CreateControlForView. Para obtener más información acerca de la representación de campos personalizados, consulte Patrones de representación de campos personalizados y Tutorial: creación de un control de representación de campos personalizado para páginas móviles.
Título de la lista de entradas en sitios móviles de blogs
SPMobilePostsListTitle selecciona Moblog_MyPosts_Titleo Moblog_AllPosts_Title para representar el título de una lista de entradas en un sitio móvil de blogs, en función de si el tipo de vista actual del sitio de blogs es Mis entradas de blog o Todas las entradas de blog.
Plantillas de representación anidadas
Las RenderingTemplates se pueden anidar. Consulte el ejemplo en Procedimiento para personalizar las páginas principales móviles.
Vea también
Otros recursos
Tutorial: Personalización de una página principal móvil
Procedimiento para personalizar las páginas de vista de lista móvil y formulario
Tutorial: Personalización de una página de vista de lista móvil
Diseño y paginación de las páginas móviles
Procedimiento para personalizar las páginas principales móviles
Puntos suspensivos y límites de representación
Tutorial: Personalización de títulos de elemento en un formulario de presentación de dispositivo móvil
Definición de tipo de campo personalizado
Schema.xml
Onet.xml
Procedimiento para personalizar la representación de campos en páginas móviles