
Desarrollo de Tipos de Contenido
El Modelo de Objetos de SharePoint ofrece todas las clases, métodos y propiedades para trabajar con Tipos de Contenido programáticamente. Un Tipo de Contenido esta definido por la clase "SPContentType", y los Tipos utilizados en un sitio o en una Librería son agrupados en una colección del tipo "SPContentTypeCollection".
![]()
Examinador de Objetos de Visual Studio con el Modelo de Objetos para Tipos de Contenido
Cada sitio ("SPWeb") y cada Librería ("SPList") de SharePoint tiene una propiedad "ContetTypes", que contiene la colección de Tipos de Contenido. A su vez, cada Tipo de Contenido definido por "SPContentType" tiene una colección de campos del tipo "SPFieldCollection", que define el agrupamiento de columnas (del tipo "SPField") para contener los metadatos.
Cada una de estas clases permite crear, editar y eliminar Tipos de Contenido, manejar sus campos y vincular un Tipo de Contenido a una Librería o Lista.
Nota: Cada Librería por defecto de SharePoint contiene un Tipo de Contenido "Carpeta" que es invisible desde la interface de las páginas de administración, pero que se puede ver y manipular desde el Modelo de Objetos. Este Tipo de Contenido define el nombre y titulo de la Librería misma.
El Modelo de Objetos de SharePoint permite, por ejemplo, mostrar una lista de todos los Tipos de Contenido presentes en el Portal, y las propiedades que indican su titulo y el grupo al que pertenece, como las siguientes líneas de código muestran:
SPSite miSite = SPControl.GetContextSite(Context); SPWeb miWeb = miSite.OpenWeb(); SPContentTypeCollection misTipos = miWeb.ContentTypes; foreach (SPContentType miTipo in misTipos) { Response.WriteLine(miTipo.Name + " - " + miTipo.Group); }De la misma forma, agregar un nuevo Tipo de Contenido a una Libreria puede ser realizado con un par de líneas de código:
SPContentTypeCollection todosMisTipos = miWeb.ContentTypes; SPContentType miNuevoTipo = todosMisTipos["Tarea"]; misTipos.Add(miNuevoTipo);Y eliminar el campo puede ser realizado de la misma forma
SPContentType miTipo = miWeb.ContentTypes["Tarea"]; todosMisTipos.Delete(miTipo.Id);Video
Crear y eliminar Tipos de Contenido en tiempo de ejecución y progamaticamente, así como examinar y acoplar Tipos de Contenido a Librerías, es demostrado en el siguiente video.
Duración: 8:01 minutos