Compartir a través de


Crear tipos de contenido personalizado en SharePoint 2010

Pancarta de inicio rápido de SharePoint

Introducción al desarrollo de Web en SharePoint 2010: Aprenda a crear un tipo de contenido personalizado en SharePoint 2010.

Última modificación: miércoles, 12 de enero de 2011

Hace referencia a: SharePoint Foundation 2010 | SharePoint Server 2010 | Visual Studio | Visual Studio 2010

En este artículo
Crear un proyecto de SharePoint 2010
Crear un tipo de contenido
Comprobar el funcionamiento correcto del proyecto
Pasos siguientes

Se aplica a:   Microsoft SharePoint Foundation 2010 | Microsoft SharePoint Server 2010 | Microsoft Visual Studio 2010
Publicado:   abril de 2010
Proporcionado por:    Frank Rice, Microsoft Corporation

En este ejercicio, crea un tipo de contenido personalizado. A continuación, agrega dos campos al tipo de contenido: un nuevo campo de texto y un campo que ya existe en el sitio web. Para completar esta tarea, debe hacer lo siguiente:

  • Crear un proyecto de SharePoint 2010

  • Crear un tipo de contenido

  • Comprobar el funcionamiento correcto del proyecto

Crear un proyecto de SharePoint 2010

En esta tarea, se crea un proyecto vacío de SharePoint 2010 en Microsoft Visual Studio 2010.

Para crear el proyecto de SharePoint

  1. Para iniciar Visual Studio 2010, haga clic en el Menú Inicio, haga clic en Todos los programas, haga clic en Microsoft Visual Studio 2010 y, a continuación, en Microsoft Visual Studio 2010.

  2. En el menú Archivo, elija Nuevo y, a continuación, haga clic en Proyecto.

  3. En la sección Plantillas instaladas de la ventana de diálogo Nuevo proyecto, haga clic en Visual C#, haga clic en SharePoint y, a continuación, haga clic en  2010.

  4. Seleccione Proyecto vacío de SharePoint de los elementos del proyecto.

  5. En el cuadro Nombre, escriba CreateContentType y, a continuación, haga clic en Aceptar.

  6. En el Asistente para la personalización de SharePoint, escriba el sitio web local que desea usar para este ejercicio (como https://localhost/SampleWebSite).

  7. En el nivel de confianza, seleccione Implementar como solución de granja de servidores y, a continuación, haga clic en Finalizar.

Crear un tipo de contenido

En esta tarea, se crea el tipo de contenido como una característica, y se agrega un receptor de eventos.

Para crear un tipo de contenido

  1. Haga clic con el botón secundario en la carpeta Características en el Explorador de soluciones y, a continuación, haga clic en Agregar característica.

  2. Haga clic con el botón secundario en Feature1 y, a continuación, haga clic en Agregar receptor de eventos. Visual Studio agrega un receptor de eventos de característica a Feature1.

  3. Haga clic con el botón secundario en Feature1.EventReceiver.cs y, a continuación, haga clic en Ver código.

  4. Quite la marca de comentario en el método FeatureActivated de la clase Feature1EventReceiver.

  5. Inserte el siguiente código en el método FeatureActivated.

    using (SPWeb spWeb = properties.Feature.Parent as SPWeb)
    {
        SPContentType newAnnouncement = spWeb
            .ContentTypes
            .Cast<SPContentType>()
            .FirstOrDefault(c => c.Name == "New Announcements");
        if (newAnnouncement != null)
        {
            newAnnouncement.Delete();
        }
    
        SPField newField = spWeb.Fields
            .Cast<SPField>()
            .FirstOrDefault(f => f.StaticName == "Team Project");
        if (newField != null)
        {
            newField.Delete();
        }
    
        SPContentType myContentType = 
            new SPContentType(spWeb.ContentTypes["Announcement"], 
                spWeb.ContentTypes, "New Announcements");
        myContentType.Group = "Custom Content Types";
    
        spWeb.Fields.Add("Team Project", SPFieldType.Text, true);
        SPFieldLink projFeldLink = new SPFieldLink(spWeb.Fields["Team Project"]);
        myContentType.FieldLinks.Add(projFeldLink);
    
        SPFieldLink companyFieldLink = new SPFieldLink(spWeb.Fields["Company"]);
        myContentType.FieldLinks.Add(companyFieldLink);
    
        spWeb.ContentTypes.Add(myContentType);
        myContentType.Update();
    }
    

    El método FeatureActivated se ejecuta cuando se inicia Feature1. Este código hace lo siguiente:

    • Elimina el tipo de contenido New Announcements y el campo Team Project, si existen.

    • Crea un tipo de contenido primario Announcement de acuerdo con el tipo de contenido de New Announcements.

    • Crea un campo de texto con el título Proyecto de equipo y, a continuación, lo agrega al tipo de contenido.

    • Agrega un campo existente con el títuloCompany para el tipo de contenido.

  6. Quita la marca de comentario del método FeatureDeactivating.

  7. Inserta el siguiente código en el método FeatureDeactivating.

    using (SPWeb spWeb = properties.Feature.Parent as SPWeb)
    {
        SPContentType myContentType = spWeb.ContentTypes["New Announcements"];
        spWeb.ContentTypes.Delete(myContentType.Id);
        spWeb.Fields["Team Project"].Delete();
    }
    

    El método FeatureDeactivating se ejecuta cuando se desactiva Feature1. Este código hace lo siguiente:

    • Elimina el tipo de contenido New Announcements.

    • Elimina el campo de texto Team Project.

  8. En el Explorador de soluciones, haga clic con el botón secundario en CreateContentType y, a continuación, haga clic en Implementar.

Comprobar el funcionamiento correcto del proyecto

En esta tarea, se comprueba la presencia del tipo de contenido y de los dos campos.

Para probar el proyecto

  1. Inicie Internet Explorer y vaya al sitio web que especificó anteriormente.

  2. En la sección superior izquierda de la pantalla, haga clic en Acciones del sitio y, a continuación, haga clic en Configuración del sitio.

  3. En Galerías, haga clic en Columnas del sitio.

  4. En las opciones de Mostrar grupo, haga clic en Columnas personalizadas.

    Debería ver el nuevo campo Team Project.

    Figura 1. Campo Proyecto de equipo

    Campo Proyecto de equipo

  5. Haga clic en Acciones del sitio y, a continuación, haga clic en Configuración del sitio.

  6. En Galerías, haga clic en Tipos de contenido de sitio.

  7. De las opciones de Mostrar grupo, seleccione Tipos de contenido personalizados.

    Debe ver el nuevo tipo de contenido New Announcements.

    Figura 2. Tipo de contenido de nuevos anuncios

    Tipo de contenido de nuevos anuncios

Pasos siguientes