Compartir a través de


Tutorial: Crear un campo, tipo de contenido, definición de lista e instancia de lista personalizados

En el procedimiento siguiente se muestra cómo crear un campo personalizado en SharePoint denominado Patient Name, así como un tipo de contenido que lo utilice. También se muestra cómo agregar una definición de lista al proyecto, junto con una instancia de la lista basada en la definición, que utilice el campo y tipo de contenido nuevos.

En este tutorial se muestran las siguientes tareas:

  • Crear y personalizar un campo.

  • Crear y personalizar un tipo de contenido que utilice el campo.

  • Crear y personalizar una definición de lista.

  • Crear y personalizar una instancia de la definición de lista.

  • Ver el nuevo campo en el tipo de contenido y en la instancia de lista.

Nota

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

Requisitos previos

Necesita los componentes siguientes para completar este tutorial:

Crear un elemento de campo personalizado

Primero, cree en Visual Studio un elemento de campo personalizado como proyecto de SharePoint denominado Patient Name.

Para crear un elemento de campo personalizado

  1. Muestre el cuadro de diálogo Nuevo proyecto señalando a Nuevo en el menú Archivo y haciendo clic en Nuevo proyecto.

  2. Expanda el nodo SharePoint bajo Visual C# o bajo Visual Basic y, a continuación, haga clic en 2010.

  3. Haga clic en Proyecto de SharePoint vacío en el recuadro Plantillas, cambie el nombre del proyecto a CampoPersonalizado1 y, a continuación, haga clic en Aceptar.

    Aparece el Asistente para la personalización de SharePoint. La plantilla Proyecto vacío se utiliza para los elementos de campo personalizados porque no hay plantilla para ellos.

  4. En la página Especifique el sitio y el nivel de seguridad de la depuración, escriba la dirección URL para el sitio de servidor de SharePoint al que desea agregar el nuevo elemento de campo personalizado o utilice la ubicación predeterminada (http://<system name>/).

  5. En la sección ¿Cuál es el nivel de confianza de esta solución de SharePoint?, use el valor predeterminado Implementar como solución en espacio aislado.

    Para obtener más información sobre las soluciones de espacio aislado y granja de servidores, vea Consideraciones sobre las soluciones en espacio aislado.

  6. Haga clic en Finalizar. Debería ver el proyecto en el Explorador de soluciones.

  7. Agregue al proyecto un elemento de proyecto de elemento vacío. Para ello, haga clic en el nodo de proyecto (CampoPersonalizado1) del campo en el Explorador de soluciones y, a continuación, haga clic en Agregar nuevo elemento en el menú Proyecto.

  8. Expanda el nodo SharePoint bajo Visual C# o bajo Visual Basic y, a continuación, haga clic en 2010.

  9. En el recuadro Plantillas, seleccione Elemento vacío, mantenga el nombre predeterminado ElementoVacío1 y, a continuación, haga clic en Agregar.

  10. En el archivo Elements.xml bajo ElementoVacío1, agregue lo siguiente después de la etiqueta <Elements>:

    <Field ID="{5744d18c-305e-4632-8bd1-09d134f4830d}" 
        Type="Note" 
        Name="PatientName" 
        DisplayName="Patient Name" 
        Group="A Custom Group">
    </Field>
    

    Esto agrega un campo denominado Patient Name.

    Nota importanteImportante

    Cuando agregue un campo personalizado, deberá especificar los atributos ID, Type, DisplayName y Group del campo para que aparezca correctamente en SharePoint. La finalización de instrucciones indica erróneamente que solo se necesitan los tres primeros atributos, cuando en realidad se necesitan los cinco.

  11. Presione F5 para ejecutar e implementar el proyecto en SharePoint.

    Si aparece un cuadro de mensaje que advierte de que la depuración del script está deshabilitada, haga clic en para seguir depurando.

  12. Si es la primera vez que depura una aplicación web en Visual Studio, se le preguntará si desea modificar el archivo de configuración web para habilitar la depuración. Responda .

  13. En la parte superior de la página web de SharePoint, haga clic en el botón Acciones del sitio y, a continuación, haga clic en Configuración del sitio.

  14. Bajo la sección Galerías de la página Configuración del sitio, haga clic en el vínculo Columnas del sitio.

  15. En la página Galería de columnas de sitio, desplácese por la página hasta el encabezado Columnas personalizadas y fíjese en el nuevo elemento de campo que se ha agregado, Patient Name.

  16. Cierre el explorador.

Crear un tipo de contenido personalizado

A continuación cree un tipo de contenido, basado en la lista Contactos de SharePoint que utilice el nuevo campo creado en el procedimiento anterior.

Para crear un tipo de contenido personalizado

  1. Agregue un tipo de contenido al proyecto. Para hacerlo, haga clic en el nodo del proyecto en el Explorador de soluciones y en el menú Proyecto, haga clic en Agregar nuevo elemento.

  2. Expanda el nodo SharePoint bajo Visual C# o bajo Visual Basic y, a continuación, haga clic en 2010.

  3. En el recuadro Plantillas, seleccione Tipo de contenido y utilice el nombre predeterminado, ContentType1.

  4. En el Asistente para la personalización de SharePoint, seleccione Contacto como el tipo de contenido en el que basar el nuevo y haga clic en Finalizar.

    Esto abre el archivo Elements.xml del tipo de contenido para su edición.

  5. En la sección <FieldRefs> de Elements.xml, copie y pegue en:

    <FieldRef ID="{5744d18c-305e-4632-8bd1-09d134f4830d}" 
        Name="PatientName" 
        DisplayName="Patient Name" 
        Required="TRUE"/>
    

    El identificador de FieldRef utilizado aquí hace referencia al id. de campo que creamos para el campo personalizado.

  6. Presione F5 para ejecutar e implementar el proyecto.

  7. En la parte superior de la página web de SharePoint, haga clic en el botón Acciones del sitio y, a continuación, haga clic en Configuración del sitio.

  8. Bajo la sección Galerías de la página Configuración del sitio, haga clic en el vínculo Tipo de contenido de sitio.

  9. En la página Galería de tipos de contenido de sitio, fíjese en el nuevo tipo de contenido que acabamos de crear, CampoPersonalizado1 - ContentType1. Haga clic en él para ver los campos. En la lista de campos de CampoPersonalizado1 - ContentType1, fíjese en que se ha agregado el campo Patient Name.

  10. Cierre el explorador.

Crear una definición de lista y una instancia de lista

Ahora, cree una definición de lista y una instancia de lista que utilizarán el nuevo tipo de contenido y campo. Dado que deseamos crear la definición de lista basada en el tipo de contenido que acabamos de crear, utilizaremos la plantilla de elementos de proyecto Definición de lista de tipo de contenido.

Para crear una definición y una instancia de lista

  1. Agregue una definición de lista al proyecto. Para hacerlo, haga clic en el nodo del proyecto en el Explorador de soluciones y en el menú Proyecto, haga clic en Agregar nuevo elemento.

  2. Expanda el nodo SharePoint bajo Visual C# o bajo Visual Basic y, a continuación, haga clic en 2010.

  3. En el recuadro Plantillas, seleccione Definición de lista de tipo de contenido y use el nombre predeterminado, ListDefinition1.

  4. En el cuadro ¿Cuál es el nombre para mostrar de la definición de lista?, deje el valor predeterminado, CampoPersonalizado1 - ListDefinition1.

  5. En la lista ¿Qué tipo de contenido desea usar para la definición de lista?, use el valor predeterminado (y único), CampoPersonalizado1 - ContentType1.

    Esto crea una definición de lista personalizable basada en la nueva lista Contactos modificada.

  6. Seleccione el cuadro Agregar una instancia de lista para esta definición de lista para agregar un elemento de proyecto de instancia de lista al proyecto. La instancia de lista será una instancia de la nueva definición de lista.

  7. Haga clic en Finalizar. Debería ver la definición de lista en el Explorador de soluciones.

Personalizar la definición de lista

Finalmente, personalice la definición de lista agregando un nuevo campo, Patient Name.

Nota importanteImportante

El valor del atributo Name en el Elements.xml de la definición de lista debe coincidir con el nombre de la carpeta del elemento de proyecto de definición de lista o se producirá un error cuando se ejecute el proyecto. Para asegurarse de que el atributo Name coincide con el nombre de la carpeta, se usa el parámetro de reemplazo (o token) $ProjectItemName$. Cuando el proyecto de SharePoint se empaqueta e implementa, este token se convierte en el nombre de la carpeta real de la definición de lista. Si cambia el valor del atributo Name por algo distinto de este token, es posible que su aplicación no se ejecute correctamente. Para obtener más información, vea Parámetros reemplazables.

Para agregar un campo a la definición de lista

  1. En el Explorador de soluciones, haga doble clic en Schema.xml bajo ListDefinition1 para verla.

    En Schema.xml se definen todos los campos y otros elementos de la definición de lista, como el nombre y la dirección. Observe que, bajo el elemento <Fields> situado en la parte superior del archivo, el tipo de contenido ha agregado la siguiente definición de campo:

    <FieldRef ID="{5744d18c-305e-4632-8bd1-09d134f4830d}" 
        Name="PatientName" 
        DisplayName="Patient Name" 
        Required="TRUE" />
    
  2. Presione F5 para ejecutar e implementar el proyecto.

  3. Bajo la sección Listas en la barra de inicio rápido de SharePoint, haga clic en el vínculo CampoPersonalizado1 - InstanciaLista1.

    Esta es la instancia de la lista para la nueva definición de lista. Observe que el nuevo campo Patient Name no aparece todavía como una columna en la instancia de lista.

  4. Haga clic en Lista en la pestaña de menú Herramientas de lista en la parte superior de la página y, a continuación, haga clic en el botón Modificar vista en la ficha de cinta.

  5. En la lista de nombres de columna disponibles, seleccione Patient Name y, a continuación, haga clic en Aceptar. Observe que el campo Patient Name aparece ahora en la instancia de la lista.

Vea también

Otros recursos

Desarrollar soluciones de SharePoint

Procedimiento para crear un tipo de campo personalizado

Tipos de contenido

Columnas