Siguiendo con la serie de artículos sobre creación de formularios personalizados de lista, en esta ocasión vamos a ver la aproximación declarativa comentada en el primer artículo. Esta aproximación está muy bien descrita en este post, por lo que simplemente destacaré los puntos claves de la misma:
-
En primer lugar, definir a nivel de tipo de contenido cuáles van a ser los formularios asociados al mismo. Para ello, en la definición XML del tipo de contenido tendremos que definir un elemento de tipo <XmlDocuments> y dentro del mismo un elemento <XmlDocument> con un elemento de tipo <FormUrls> que contendrá la definición para los formularios de visualización, edición y creación de un elemento de lista / biblioteca basado en el tipo de contenido en cuestión. Como veis, se trata de un único formulario consistente en una página de aplicación desplegada en el directorio LAYOUTS y que recibe por query string el parámetro que indica el modo de trabajo con el elemento de lista en cuestión.
1: <XmlDocuments>
2: <XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
3: <FormUrls xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
4: <Display>_layouts/SPCustomListFormDemo/Product.aspx?mode=display</Display>
5: <Edit>_layouts/SPCustomListFormDemo/Product.aspx?mode=edit</Edit>
6: <New>_layouts/SPCustomListFormDemo/Product.aspx?mode=new</New>
7: </FormUrls>
8: </XmlDocument>
9: </XmlDocuments>
-
En segundo lugar, si creamos una definición de lista en base al tipo de contenido anterior que contiene la definición de los formularios a usar, estos son “copiados” en el esquema de la lista utilizando la misma estructura ya vista para el tipo de contenido ya que cuando se vincula un tipo de contenido a una lista, realmente se está haciendo una instancia del mismo.
-
El resultado, una vez desplegado tipo de contenido, definición de lista y crear una instancia de la misma es que estaremos usando nuestros formularios personalizados:

Comparte este post: