Tipos de contenido en Drupal 8

1. La tipos de contenido “Página básica” y “Artículo”

Cuando instalas Drupal 8, se instalan automáticamente dos tipos de contenido que han sido definidos por el equipo que mantiene el núcleo Drupal: la página básica y el artículo. Si creas un contenido utilizando el tipo de contenido de página básica, verás que proporciona dos campos básicos: un título y un cuerpo.

Un autor que utiliza el tipo de contenido de página básica simplemente introduce un título (un campo obligatorio como indica el asterisco rojo) y el texto de su contenido en el campo cuerpo. El campo cuerpo es flexible y puede contener todo lo que el autor sienta que quiere escribir. El autor podría:

    • Escribir un libro completo en el campo cuerpo, incluyendo marcado HTML (encabezados, tablas, CSS, etc).

    • Insertar imágenes.

    • Escribir una sola frase.

El tipo de contenido artículo es similar a la página básica, excepto en que ofrece la posibilidad de cargar una imagen como elemento independiente, como una imagen de banner para el artículo (no incrustada en el texto del cuerpo) y definir un conjunto de etiquetas que se pueden utilizar para categorizar el contenido (ver capítulo 4 para obtener detalles sobre cómo clasificar el contenido).

Al igual que una página básica, un artículo puede ser utilizado para crear contenido sobre cualquier tema y el área del cuerpo permite ingresar texto de forma libre.

Mientras que los tipos de contenido “Página básica” y “Artículo” son perfectos para contenido general, probablemente habrá casos en los que desees proporcionar alguna forma de estructura alrededor de la información que se captura. Es posible que desees:

Requerir que se ingrese cierta información antes de que el autor envíe el elemento de contenido para su publicación; por ejemplo, la fecha y la hora de inicio de un evento, la dirección del lugar donde se celebra el evento y un enlace al evento en un mapa de Google.

Tener la capacidad de realizar cálculos basados en la información que se captura en un elemento de contenido.

Tener la capacidad de ordenar los elementos de contenido por “campos” específicos.

Tener la capacidad de “filtrar” o restringir qué elementos de contenido se muestran en una página basándose en un valor de un campo.

Hacer cumplir la estructura de cómo un elemento de contenido se representa en una página; por ejemplo, es posible que desees mostrar información acerca de un libro y desees que el autor escriba el título seguido del ISBN, seguido del precio, seguido de la descripción del libro.

Si bien podrías publicar toda esta información en una página básica o un artículo, proporcionando las características para ordenar, filtrar, hacer los valores necesarios, calcular y estructurar cómo se representa un elemento de contenido en una página, sería extremadamente difícil. Afortunadamente, la capacidad de Drupal para definir tipos de contenido personalizado hace que todo lo anterior sea posible, y proporciona muchas más características que encontrarás invaluables con el tiempo.

2. Definiendo un tipo de contenido personalizado

Un tipo de contenido personalizado es definido por el administrador del sitio, por encima de los tipos de contenido página básica y artículo. La capacidad de crear tipos de contenido personalizado se incluye en el núcleo Drupal 8.

Para demostrar la potencia y flexibilidad de los tipos de contenido personalizado, creemos un nuevo tipo de contenido personalizado para capturar información acerca de los próximos eventos. Un evento puede ser un concierto, una obra de teatro, una clase, un jego o cualquier otra actividad programada con antelación.

    • Al crear información sobre un evento, puede que desees incluir los siguientes detalles:

    • El nombre o título del evento

    • La fecha y la hora en que empieza el evento

    • La fecha y la hora en que termina el evento

    • El lugar o la dirección donde se llevará a cabo el evento

    • Una descripción del evento

    • El precio por asistir al evento

Como veremos en unos momentos, Drupal proporciona una interfaz de administración fácil de usar para crear y modificar tipos de contenido personalizados. Tan pronto como se define un tipo de contenido personalizado, está inmediatamente disponible para los usuarios que tienen los privilegios adecuados para crear, editar, publicar y eliminar ese tipo de contenido específico (Drupal proporciona la capacidad de restringir el acceso a tipos de contenido personalizado según el rol de cada usuario).

3. Creando un tipo de contenido personalizado

La creación de un tipo de contenido personalizado toma dos pasos: enumerar el tipo de información que deseas recopilar y crear el tipo de contenido personalizado mediante las pantallas de administración del tipo de contenido personalizado de Drupal.

Para este ejemplo, creemos un tipo de contenido personalizado para un evento que incluya los tipos de información enumerados anteriormente.

Para empezar, haz clic en el enlace “Administrar” en la parte superior de la página y en el enlace “Estructura” del submenú. En la página “Estructura” (que se muestra en la figura 5-1) haz clic en “Tipos de contenido”.


Figura 5-1.

La pantalla “Tipos de contenido” (mostrada en la figura 5-2) enumera todos los tipos de contenido existentes, que en nuestro caso son los tipos de contenido de artículo y página básica que se incluyen en el núcleo Drupal 8. La pantalla “Tipos de contenido también proporciona un enlace para crear nuevos tipos de contenido. Haz clic en el botón “Añadir tipo de contenido” para iniciar el proceso de creación de nuestro tipo de contenido “Evento”.


Figura 5-2.

La primera pantalla que aparece al hacer clic en el botón “Añadir tipo de contenido” es un formulario que define las características generales del nuevo tipo de contenido (ver figura 5-3). Hay un campo para el nombre del tipo de contenido, un campo para una descripción que describe el tipo de contenido (la descripción se muestra al autor cuando crea nuevo contenido), un campo para la etiqueta del campo de título y varios otras opciones de configuración que veremos detalladamente.

Figura 5-3.

Para comenzar el proceso, haz lo siguiente:

    • Escribe el nombre del tipo de contenido, que en nuestro caso es “Evento”. El texto debajo del campo “Nombre” proporciona un conjunto de directrices que debes seguir al crear un nombre para un nuevo tipo de contenido.

    • Proporciona una descripción de cómo se debe utilizar este tipo de contenido, como “Un tipo de contenido utilizado para capturar los detalles sobre los próximos eventos”.

    • Cambia la “etiqueta de campo de título” de “Título” a “Título de evento”, haciéndola más descriptiva e intuitiva al autor que usará esta plantilla para crear información del evento.

    • Deja la opción “Previsualizar antes de enviar” como opcional.

    • Proporciona una breve explicación de las pautas de envío para este tipo de contenido. Este es un valor opcional y puede que no se aplique a tu tipo de contenido. Para nuestro tipo de contenido “Evento”, utilizaremos “Por favor, rellene todos los campos requeridos antes de enviar el evento” como pautas de envío. Puedes elegir utilizar o ignorar este campo al crear nuevos tipos de contenido.

Hay otros ajustes opcionales que debes considerar cuidadosamente al crear un nuevo tipo de contenido. Primero son las opciones de publicación. En el menú vertical izquierdo, haz clic en la pestaña “Opciones de publicación” (ver figura 5-4).

Figura 5-4.

Dependiendo de si deseas que el contenido se publique automáticamente (se puede ver en su sitio inmediatamente después de guardarlo) y si deseas que el contenido aparezca automáticamente en la página principal de tu sitio web, puedes ajustar estas opciones.

Para nuestro tipo de contenido “Evento”, queremos que un evento se publique automáticaente cuando se guarda, pero no queremos que aparezcan automáticamente en la página principal. Así que vamos a desmarcar la casilla de verificación “Promocionar a la portada”. También podemos establecer si un evento se mantendrá arriba de las listas (lo que significa que en una lista de diversos tipos de contenido en una página, el contenido evento siempre estaría arriba) y si queremos crear automáticamente una nueva versión de un elemento de contenido creado como evento cuando el autor realiza una actualización (normalmente una buena idea, pero depende de si deseas ver los cambios realizados en un elemento individual de contenido a lo largo del tiempo y la capacidad de volver a publicar una versión anterior en el caso en que la versión actual sea incorrecta). Para nuestro tipo de contenido Evento marcaremos la casilla de verificación “Crear nueva revisión”.

El siguiente conjunto de opciones es para la configuración de pantalla. Haz clic en la pestaña “Configuración de visualización” en la columna de la izquierda para mostrar la opción disponible con este parámetro de configuración (ver figura 5-5).

Puedes establecer si Drupal debe mostrar el nombre del autor que creó el elemento de contenido de evento y la fecha en que se creó el elemento. Digamos que en nuestro caso no creemos que tener el autor y la fecha publicada es relevante, así que desmarcaremos esa casilla. Dependiendo del tipo de contenido que se está creando, puedes decidir que es importante mostrar el nombre del autor y la fecha en que se publicó el contenido. Si es así, deja la casilla marcada.

Figura 5-5.

El conjunto final de parámetros define las opciones de menú que se presentan al autor. Haz clic en la pestaña “Configuración de menú” para ver los parámetros del menú (ver figura 5-6). La sección “Menús disponibles” muestra los menús en los que este elemento de contenido puede aparecer opcionalmente. Durante la creación de contenido utilizando este tipo de contenido, el autor tendrá la posibilidad de especificar si el elemento de contenido que se está creando aparecerá como un elemento en el menú seleccionado. En el ejemplo que se muestra en la figura 5-6, el único menú que aparecerá disponible para el autor del contenido es el menú “Navegación principal”. Puedes desmarcar “Navegación principal” para ocultar todos los menús de la lista que se puede seleccionar, o puedes comprobar más de un menú para permitir al autor elegir entre varios menús. La opción “Elemento principal predeterminado” te permite establecer qué menú se selecciona automáticamente cuando se muestra la página “Configuración de menú” cuando un autor crea un nuevo elemento de contenido de tu nuevo tipo de contenido.

Figura 5-6.

Para nuestro ejemplo, deja los valores predeterminados y haz clic en el botón “Guardar y administrar campos”. Drupal ahora muestra la página “Administrar campos” (ver figura 5-7).

Figura 5-7.

4. Personalización del tipo de contenido

En este punto, podríamos crear un nuevo elemento de contenido utilizando nuestro tipo de contenido  evento. Sin embargo, el tipo de contenido evento sólo tiene dos campos, un título de evento y un cuerpo. Nuestros requisitos requieren una descripción del evento, fecha de inicio, fecha de finalización, lugar/dirección, tipo de asiento, asistencia disponible en el lugar, tipo de evento y la capacidad de proporcionar un archivo que puede ser descargado por el visitante del sitio (ej. un programa). Como se puede ver en la figura 5-8 Drupal crea automáticamente un campo Cuerpo, que usaremos para la descripción del evento.

Figura 5-8.

Comenzaremos con el cambio del campo Cuerpo modificando la etiqueta que aparece en la pantalla de “Cuerpo” a “Descripción del evento”, un mejor indicador del tipo de texto a introducir para la persona que crea el evento. Haz clic en el botón “Editar” para el campo Cuerpo. En el campo “Etiqueta” cambia “Cuerpo” por “Descripción del evento” (ver figura 5-8) y luego haz clic en “Guardar configuración” en la parte inferior del formulario.

Después de guardar la actualización en la etiqueta de cuerpo, Drupal regresa a la página “Administrar campos” con la Etiqueta actualizada, como se muestra en la figura 5-9.

Figura 5-9.

El siguiente paso es agregar el campo “Fecha de inicio”. Haz clic en el botón “Agregar campo”. El siguiente paso es seleccionar qué tipo de campo agregar o, alternativamente, qué campo existente agregar a este tipo de contenido. Un campo previamente creado puede residir en otro tipo de contenido y en lugar de recrearlo, podemos reutilizar la definición seleccionando ese campo de la lista de campos existentes (ver figura 5-10).

Figura 5-10.

Después de hacer clic en Fecha, verás un nuevo campo en la pantalla donde se introducirá la etiqueta para el nuevo campo.

Esta etiqueta se muestra en el formulario de edición de contenido para que el autor conozca el campo para el que está ingresando un valor y se muestra al usuario final cuando el elemento de contenido se representa en el sitio. Dado que estamos creando la fecha de inicio del evento, ingresa “Fecha de inicio” en el campo Etiqueta y haz clic en “Guardar y continuar”.

El siguiente paso en el proceso de creación del campo es establecer el formato de nuestro campo de fecha, fecha y hora o simplemente la fecha y el número de valores permitidos (ver figura 5-11). Dado que los eventos normalmente tienen un tiempo asociado con ellos, dejaremos el valor establecido en “Fecha y hora” para la lista de selección “Tipo de fecha”. También dejaremos la opción “Número permitido de valores” establecida en “Limitado” y “1” porque nuestros eventos sólo ocurren una vez.

Verás la opción de configuración “Número permitido de valores” en cada campo que crees. Puede que tengas situaciones en las que desees que el autor tenga la capacidad de crear varios valores para este campo. Por ejemplo, es posible que el mismo evento se acumule varias veces en el futuro. Al configurar el “Número permitido de valores” por encima de 1, el formulario de edición de contenido mostrará el mismo número de campos de entrada que el que seleccionaste en la lista de selección “Número permitido de valores”. Si cambias de “Limitado” a “Ilimitado”, el autor puede crear tantos valores como sea necesario, con un botón “Añadir otro” que aparece debajo del campo para permitir al autor crear una nueva entrada. Piensa en cómo se usará el campo y luego establece la opción “Número permitido de valores”. Puede haber casos en los que 1 no sea la mejor solución. Sin embargo, para este ejemplo, dejaremos el valor en 1. Haz clic en “Guardar configuración del campo” para continuar al siguiente paso.

Figura 5-11.

El siguiente formulario que muestra Drupal (mostrado en la figura 5-12) te permite establecer parámetros adicionales detallados para el campo “Fecha de inicio” del evento. En este formulario tienes la capacidad de:

Cambiar la etiqueta que definimos anteriormente para este campo. A menos que hayas cometido un error o hayas cambiado de opinión, puedes dejar el valor como se muestra.

Introduce el contenido en el campo “Texto de ayuda” que se mostrará debajo del campo de texto en la pantalla. Este es un gran lugar para describir los requisitos de los datos que se ingresarán en este campo, como solicitar que los autores escriban fechas como dd/mm/aaaa. Este campo es opcional.

Define si este campo es obligatorio. Un campo obligatorio se muestra con un asterisco rojo, y Drupal obliga al usuario a introducir un valor en este campo antes de que el elemento de contenido pueda guardarse. Debido a que nuestro tipo de contenido es sobre un evento y las fechas son atributos importantes de un evento, este campo debe ser obligatorio, así que marca la casilla de verificación.

Define si se asigna un valor predeterminado al campo antes de que la pantalla de creación de contenido se muestre al autor. Debido a que nuestro campo trata con fechas futuras, proporcionar un valor predeterminado no tiene sentido. Puede haber casos en otros campos donde un valor predeterminado tenga sentido, como seleccionar una preferencia de asiento para el evento: puede que desees establecer un valor predeterminado como “mejor disponible”. En esos casos, este es el lugar donde introducirías el valor predeterminado.


Figura 5-12.

Haz clic en “Guardar configuración” para completar los ajustes del campo Fecha de inicio. Drupal volverá a mostrar la página general “Gestionar campos” con el nuevo campo “Fecha de inicio” añadido al tipo de contenido “Evento” (ver figura 5-13).

Figura 5-13.

Ahora estamos listos para agregar los otros campos que definimos anteriormente: Fecha de finalización, Descripción del evento y lugar del evento. Sigue los mismos pasos descritos anteriormente para crear el campo Fecha de finalización. Al crear el campo “Lugar del evento”, selecciona “Text (formatted, long)” para el tipo de campo, en lugar de “Date”, ya que los valores introducidos para el lugar serán un párrafo o dos de texto. Cuando hayas terminado, tu lista de campos debe ser similar al de la figura 5-14.

Figura 5-14.

Nuestro tipo de contenido de evento ya está preparado para que los autores lo utilicen. Para probar nuestro nuevo tipo de contenido, haz clic en el enlace “Volver al sitio” en la esquina superior izquierda de la pantalla y luego haz clic en uno de los vínculos “Añadir contenido”, revelando la lista de tipos de contenido que tenemos disponibles en nuestro sitio.

Nuestro tipo de contenido de evento aparece en la lista de tipos de contenido disponibles. Haz clic en Evento para mostrar la página de creación de contenido para nuestro tipo de contenido evento (ver figura 5-15). La página muestra los campos Título del evento, Descripción del evento, Fecha de inicio, Fecha final y Lugar del evento.

Figura 5-15.

Crea un evento de ejemplo utilizando el formulario de creación de eventos. Cuando hayas terminado de ingresar valores, haz clic en “Guardar y publicar”. Drupal procesará tu nuevo elemento de contenido del evento utilizando los valores especificados. El ejemplo Evento ingresado en el formulario de la figura 5-15 aparece como un nuevo evento en la figura 5-16.

Figura 5-16.

5. Otros tipos de campo

En nuestro tipo de contenido Evento, hemos creado un conjunto de campos para que los autores ingresen valores de fecha y lugar. Puede haber casos en los que un campo de texto es menos eficaz que utilizar uno de los siguientes tipos de campo:

    • Botones de radio: genial para proporcionar una lista de opciones al autor y solo permitir la selección de un solo elemento de la lista.

    • Casillas de verificación: perfecto para proporcionar una lista de opciones al autor, en la que se permite seleccionar uno o más elementos de la lista.

    • Seleccionar lista: excelente para lista larga de elementos para seleccionar; por ejemplo, todos los países del mundo.

    • Carga de archivos: el campo a utilizar cuando se desea proporcional la posibilidad de cargar y adjuntar un archivo a un contenido.

    • Carga de imagen: el tipo de campo que se utilizará cuando desees cargar y mostrar una imagen.

    • Área de texto: el campo a utilizar cuando se espera que el autor introduzca párrafos de contenido. Proporciona una caja con varias líneas, mientras que un campo de texto sólo tiene una sola línea de texto.

    • Campo numérico: perfecto cuando deseas que el autor ingrese sólo números.

    • Campos de referencia de entidad: es el campo que se utiliza cuando se desea asociar y mostrar otro elemento de contenido con el elemento que se está creando. Un ejemplo podría ser que tu sitio tuviera un tipo de contenido llamado Biografía que contiene un headshot e información biográfica sobre artistas intérpretes o ejecutantes.  Si deseas incluir el retrato y la biografía de un artista en un elemento de contenido de evento, puedes utilizar el campo de referencia de entidad para vincular el evento a la biografía del artista, mostrando el retrato y la biografía del elemento de contenido existente en lugar de tener que volver a ingresar manualmente información biográfica del evento.

    • Campo de referencia de término: cuando deseas incluir términos taxonómicos como parte de tu elemento de contenido, este es el campo a utilizar.

Los tipos de campos enumerados aquí forman parte de Drupal 8. Hay otros tipos de campos personalizados que están disponibles como módulos aportados. Para obtener una lista de esos módulos, visita www.drupal.org/project/modules, selecciona el elemento Campos en el filtro “Categorías de módulo” y haz clic en buscar. Encontrarás una lista de módulos complementarios que proporcionan capacidades de valor agregado, como otros tipos de campos. Puedes instalar módulos adicionales siguiendo el proceso descrito en el capítulo 12.

Es probable que te encuentres con la necesidad de utilizar uno de los otros tipos de campo al crear nuevos tipos de contenido. Amliamos nuestro tipo de contenido Evento añadiendo varios campos adicionales utilizando otros tipos de campo.

5.1. Botones de radio

Los botones de radio son útiles cuando se desea presentar al autor una lista de valores desde la que pueden seleccionar solo un elemento (las casillas de verificación se utilizan cuando se desea que el autor tenga la posibilidad de seleccionar uno o más valores).

Ampliaremos nuestro tipo de contenido Evento para incluir la posibilidad de seleccionar el tipo de asiento de entre los disponibles: asientos reservados o admisión general. Para iniciar el proceso, haz clic en el enlace Administrar en la parte superior de la página, haz clic en Estructura en el submenú, seguido por el enlace “Tipos de contenido” en la página Estructura y la pestaña “Administrar campos” para el tipo de contenido Evento. Haz clic en el botón “Agregar campo” para iniciar el proceso. La figura 5-17 muestra la lista de tipos de campos. Puesto que estamos creando una lista basada en botones de radio, selecciona la opción “List (text)”. Aparecerá un campo para la Etiqueta después de seleccionar la opción Lista. Introduce “Tipo de asiento” en el campo Etiqueta y a continuación, haz clic en el botón “Guardar y continuar”.

Figura 5-17.

El siguiente paso en el proceso es proporcionar los valores que aparecerán en la lista (ver figura 5-18). En esta pantalla tenemos que especificar la “Lista de valores permitidos”, que es la lista de opciones que se presentarán al autor. Drupal requiere que las opciones estén listadas como un par de “etiqueta clave” donde key es un valor que representa la opción que se seleccionó (el valor clave se almacenará en la base de datos), seguido del carácter de canal “pipe” (presiona la tecla Mayus y / para introducir un carácter de canal) y la etiqueta es el valor que se mostrará en la pantalla. En el ejemplo de la figura 5-18 utiliza Reservado y Admisión general, lo cual resulta en los valores “reservado” o “general” que se almacenan en la base de datos. Al establecer el campo “Número permitido de valores” en “Limitado” y “1”, Drupal mostrará esta lista como botones de opción, ya que el usuario está restringido a seleccionar un solo valor. Si el número es mayor que 1, Drupal mostrará esta lista como casillas de verificación. Después de introducir los valores, haz clic en el botón “Guardar configuración de campo” para continuar el proceso.

Figura 5-18.

El siguiente paso en el proceso de configuración para este campo se muestra en la figura 5-19. En este formulario podemos:

    • Cambiar la etiqueta;

    • Crear texto de ayuda;

    • Marcar el campo según sea necesario;

    • Establecer la opción predeterminada que se mostrará en la pagina.

Figura 5-19.

Introduce el texto de ayuda que ayudará al visitante a comprender de qué se trata este campo y establece la opción Admisión general como valor predeterminado que se seleccionará automáticamente cuando se muestre la página Crear evento. Después de configurar los valores, haz clic en el botón “Guardar configuración”.

El último paso del proceso es definir cómo queremos que Drupal muestre la lista de valores, ya sea como una lista de selección o como casillas de verificación / botones de opción. Si estableces el “Número de valores permitidos” a 1, una lista de selección se mostrará como una lista desplegable, permitiendo al usuario seleccionar un solo elemento. Si el “Número de valores permitidos” se establece a más de uno, se mostrará la lista completa de valores en lugar de una lista de selección desplegable. Una lista se mostrará como botones de opción si estableces “Número permitido de valores” en 1 y como casillas de verificación si el “Número permitido de valores” es mayor que uno. Para establecer qué tipo de widget se usará para mostrar la lista Tipo de asiento, haz clic en la pestaña “Administrar la visualización de formularios” en la parte superior de la página “Administrar campos” (ver figura 5-20). Localiza el campo Tipo de asiento en la lista de campos para este tipo de contenido y cambia la columna de widget de “Seleccionar lista” a “Casillas de verificación / botones de opción”. Haz clic en el botón Guardar para registrar tus cambios.

Figura 5-20.

Después de hacer clic en el botón Guardar, el nuevo campo está listo para su uso, como se muestra en la figura 5-21. Observa que Drupal agregó una tercera opción a nuestra lista, la opción N/A. Como no hemos marcado la casilla “Campo obligatorio” para este campo (ver figura 5-19) Drupal inserta automáticamente la opción N/A porque un visitante puede no desear seleccionar una opción. Si deseas eliminar la opción N/A activa la casilla de verificación “Campo obligatorio” y Drupal eliminará esa opción de la lista.

Figura 5-21.

5.2. Casillas de verificación

Las casillas de verificación son similares a los botones de radio, pero permiten al usuario seleccionar más de un valor de la lista.

Ahora expandiremos nuestro tipo de contenido Evento agregando una lista de casillas de verificación que aborda las adaptaciones especiales disponibles en este evento para los asistentes con discapacidades.

Crearemos cajas de verificación que especifiquen si hay dispositivos de ayuda auditiva, de asistencia visual y asientos para sillas de ruedas disponibles para este evento. Para definir la lista de casillas de verificación, vuelve a la página “Administrar campos” del tipo de contenido Evento y haz clic en el botón “Agregar campo”. Selecciona “Lista (texto)” en la lista de selección “agregar un nuevo campo” (ver figura 5-17) e ingresa un título de “Asistencia” en el campo Etiqueta (ver figura 5-22).

Figura 5-22.

Después de hacer clic en “Guardar y continuar”, introduce los valores de las tres opciones, como se muestra en la figura 5-23, y cambia el “Número permitido de valores” de Limitado a Ilimitado, permitiendo al visitante seleccionar uno o más valores de la lista. Haz clic en el botón “Guardar configuración de campo” para continuar el proceso.

Figura 5-23.

El siguiente paso en el proceso es introducir el texto de ayuda para guiar al autor en qué hacer con el campo Asistencia, establecer el campo como obligatorio si es necesario, establecer el valor predeterminado si se desea un valor predeterminado (ver figura 5-24) y luego clica en “Guardar configuración”. Para nuestro ejemplo, no haremos que el campo Asistencia sea necesario, ni estableceremos un valor predeterminado, ya que la mayoría de los visitantes de nuestros eventos probablemente no necesitarán asistencia.

Figura 5-24.

Después de completar la configuración de campo para el campo Asistencia, deberás indicar a Drupal que este campo se muestre como “Casillas de verificación / botones de opción”. Haz clic en la pestaña “Administrar presentación de formulario” en la parte superior del formulario de edición de contenido y cambia el valor del tipo de widget, de “Seleccionar lista” a “Casillas de verificación / botones de opción” y haz clic en “Guardar”. Para ver el resultado de agregar este campo, haz clic en uno de los vínculos “Añadir contenido” y agrega un nuevo evento. El nuevo campo de casilla de verificación aparecerá como se muestra en la figura 5-25.

Figura 5-25.

5.3. Listas de selección

Las listas de selección se llaman a menudo listas desplegables. Para demostrar su funcionamiento, creemos un nuevo campo para el tipo de contenido Evento que enumere si el evento es un concierto, una obra de teatro o una conferencia. La creación de una lista de selección es similar a la creación de los tipos de campos anteriormente cubiertos. En la página “Administrar campos” para el tipo de contenido Evento, haz clic en el botón “Agregar campo”. Selecciona “Lista (texto)” para el tipo de campo (ver figura 5-17) e ingresa “Tipo de evento” en el campo Etiqueta. Después de configurar estos valores, haz clic en el botón “Guardar y continuar” para continuar con la definición de tu nevo campo de lista de selección.

En la siguiente pantalla, como en los ejemplos anteriores, ingresa un par clave / etiqueta para cada una de las opciones que se van a enumerar.

Introduce Concierto / concierto, juego / Juego y conferencia / Conferencia en la “Lista de valores permitidos”, con un conjunto de valores de etiqueta por línea (ver figura 5-18). Deja el “Número permitido de valores” establecido en “Limitado” y “1”. Para continuar, haz clic en “Guardar configuración del campo”. En la siguiente pantalla de configuración, haz clic en “Guardar configuración” después de haber establecido los valores que deseas en el formulario.

En los ejemplos anteriores tuvimos que hacer clic en la pestaña “Manage form display” y cambiar el tipo de widget de “Lista de selección” a “Casillas de verificación / botones de radio”. Como queremos mostrar una lista de selección no es necesario cambiar el valor. Ya estás listo para utilizar tu nuevo campo de lista de selección. La figura 5-26 muestra lo que parece la lista de selección definida en los pasos anteriores al crear un nuevo evento.

Figura 5-26.

5.4. Cargas de archivos

El tipo de campo de carga de archivos presenta un botón del explorador de archivos que permite a un autor buscar en su equipo local un archivo para cargarlo en Drupal y admuntarlo al elemento de contenido que están creando. Crear un campo de carga de archivos es casi idéntico al procedimiento para crear otros tipos de campos. Ampliamos el tipo de contenido de Evento para incluir la capacidad de adjuntar el programa para el evento. Al igual que con los campos anteriores, navega hasta la página “Administrar campos” del tipo de contenido del evento y haz clic en el botón “Agregar campo”. En la pantalla “Agregar campo” (ver figura 5-17) selecciona “Archivo” como tipo de campo e ingresa “Programa de eventos” en el campo Etiqueta. Haz clic en “Guardar y continuar” para pasar al siguiente paso.

En la página “Ajustes de campo” (ver figura 5-27) activa la casilla de verificación “Activar campo de visualización” y la casilla de verificación “Archivos mostrados por defecto”. Al marcar estos cuadros el autor tiene la opción de mostrar un enlace al archivo cuando los visitantes estén viendo ese elemento de contenido. De forma predeterminada, el destino del archivo subido será el directorio “Archivos públicos” que es un destino configurable definido por el administrador del sitio.

A continuación, en el campo “Número permitido de valores” establece el número de subidas de archivos que se habilitarán para los autores de contenido.

Dejaremos la opción establecida en “Limitado” y “1”, ya que sólo prevemos la necesidad de permitir que un autor de contenido cargue un archivo de programa de evento único por evento. Dependiendo de tus necesidades, puedes cambiar el número de subidas de archivos permitidas. Después de configurar los valores en el formulario, haz clic en el botón “Guardar configuración del campo”.

Figura 5-27.

En la pantalla de configuración final (ver figura 5-28) encontrarás campos y opciones para ingresar el texto de ayuda que explica por qué se utiliza este campo (“Cargar el programa del evento” en nuestro ejemplo), indicando si se requiere una carga de archivo al crear un evento (desmarcado en nuestro ejemplo), especificando las extensiones de archivo permitidas (en nuestro caso permitiremos a un autor cargar un archivo con una extensión de archivo txt, doc, docx, ppt, pptx o pdf), opcionalmente identificando el directorio dentro del directorio de archivos públicos donde se cargarán estos archivos (dejar en blanco), estableciendo el “tamaño máximo de carga” (para nuestro ejemplo vamos a permitir que los archivos hasta 1 MB) y habilitar una descripción que puede ser utilizada por el autor del contenido para describir el archivo. Una vez que hayas actualizado los valores, haz clic en “Guardar configuración” en la parte inferior del formulario.

Figura 5-28.

La figura 5-29 muestra el nuevo campo de carga de archivo del formulario de creación de evento.

Figura 5-29.

5.5. Área de texto

Es probable que haya escenarios en los que desees proporcionar un campo en un formulario de creación de contenido que permita a un autor introducir un párrafo o más de texto. Si bien puedes proporcionar esta capacidad a través de un campo de texto (un cuadro de entrada de texto de una sola línea), la forma más aceptable y estándar es proporcionar un área de texto. Extendiendo nuestro ejemplo de evento, vamos a agregar un nuevo campo que se utilizará para capturar las indicaciones para llegar al lugar. Para crear un área de texto, sigue los mismos pasos que utilizamos para crear otros campos en las secciones anteriores. Haz clic en el botón “Agregar campo” en la página “Administrar cmapos” para nuestro tipo de contenido Evento y selecciona “Texto (formato largo)” en la lista de opciones “Agregar un nuevo campo” (ver figura 5-17). Introduce “Direcciones” en el campo Etiqueta y haz clic en “Guardar y continuar”.

El siguiente formulario te permite establecer cuántos cuadros de texto se crearán para este campo. Deja el valor establecido en 1 y haz clic en “Guardar configuración de campo”. El siguiente formulario te ofrece la opción de ingresar texto de ayuda, establecer el campo como obligatorio, especificar un valor predeterminado y definir qué tipo de procesamiento de texto se habilitará para el autor. La elección de HTML completo permite a los autores utilizar todas las funciones del editor WYSIWYG, mientras que HTML básico restringe el número de opciones de formato disponibles sólo a los conceptos básicos (consulta la figura 5-30 para las opciones de HTML limitado).

Selecciona HTML básico y haz clic en “Guardar configuración”. El nuevo campo ya está disponible para su uso. Intenta crear un nuevo evento y verás el nuevo área de texto en que puedes introducir las direcciones (ver figura 5-30).

Figura 5-30.

5.6. Campos numéricos y otros tipos de campos

Al recorrer los distintos tipos de campos que se han enumerado anteriormente, puedes ver que hay un patrón y un conjunto común de parámetros para casi todos los tipos de campos que creamos. Un campo numérico es esencialmente un campo de texto, pero restringido automáticamente por Drupal para que sólo acepte caracteres numéricos (0-9). A medida que expandes los tipos de campos que puedes crear al descargar y habilitar módulos de campos aportados, encontrarás pequeñas variaciones en el proceso debido a la estructura de los campos que estás creando. Sin embargo, el proceso global será el mismo. Si no lo has hecho, ahora es el momento perfecto para explorar la lista de módulos de campos que están disponibles para ampliar las capacidades de lo que está disponible en Drupal 8.

Visita http://drupal.org/project/modules, haz clic en el elemento Campos en el filtro “Categorías de módulo” y haz clic en Buscar. Al navegar, asegúrate de que te estás centrando en los módulos de campos que construyen para Drupal 8, ya que muchas de las capacidades inherentes a los campos son ahora parte del núcleo Drupal, mientras que en versiones anteriores de Drupal se tienen que descargar e instalar CCK para hacer lo que acabamos de lograr utilizando Drupal.

Para limitar la lista a Drupal 8, selecciona 8.x en la lista desplegable “Compatibilidad de núcleo” y haz clic en el botón Buscar.

6. Formatear el formulario de entrada para un tipo de contenido personalizado

A veces puedes encontrar que la representación visual de tu nuevo formulario de creación de contenido no encaja con la forma en que deseas que aparezca. Es posible que desees cambiar el orden de los campos en el formulario, el tipo de widget utilizado para crear contenido en un camo o el formato del propio widget. Para cambiar la forma en que se muesstra el formulario, edita un tipo de contenido siguiendo los pasos que has realizado anteriormente. Haz clic en la pestaña “Gestionar la presentación del formulario” en la parte superior de la página, lo que da como resultado la lista de campos con sus tipos de widgets y configuraciones de widgets (ver figura 5-31).

Figura 5-31.

Para reordenar el orden de los campos en el formulario, haz clic y mantén en el icono de flechas junto al campo que deseas mover, arrastra el campo a la posición donde deseas que aparezca y suelta el botón del ratón. Para cambiar el tipo de widget, simplemente selecciona un nuevo valor en la lista de selección de widgets y para cambiar la apariencia de un widget (por ejemplo, cambiar un área de texto para que muestre más de cinco líneas predeterminadas), haz clic en el icono de rueda dentada en la columna derecha (ver figura 5-31).

Por ejemplo, cambiemos el campo del área de texto para las direcciones de cinco a diez líneas de texto. Para ello, haz clic en el icono de rueda dentada en la columna derecha del campo “Direcciones”. El formulario se expandirá para mostrar un campo en el que puedes cambiar el número de filas, así como introducir texto de marcador de posición que aparecerá en el campo hasta que el autor comience a introducir texto en ese campo.

Cambia el número de filas de 5 a 10 y luego haz clic en el botón Actualizar, seguido por el botón Guardar. El número de filas que se muestran al crear un nuevo evento es de diez, proporcionando al autor más espacio para ingresar direcciones.

7. Formatear la salida de un tipo de contenido personalizado

Habrá momentos en los que la representación visual del nuevo tipo de contenido que se muestra al usuario final de un sitio no encaje con la forma en que desees que el contenido creado se muestre en pantalla.

En la sección anterior examinamos la reorganización de los campos en el formulario de entrada; en este caso, estamos reorganizando el contenido tal y como aparece cuando se renderiza a un usuario.

Puedes ajustar el orden y la posición de las etiquetas en relación con el campo haciendo clic en la pestaña “Administrar pantalla” en el formulario de edición de tipo de contenido personalizado.

Utilizaremos nuestro tipo de contenido Evento para demostrar las capacidades. Al hacer clic en la pestaña “Administrar pantalla” se muestra la página que se muestra en la figura 5-32.

Figura 5-32.

Esta página enumera todos los campos que están asociados con nuestro tipo de contenido y proporciona la capacidad de definir atributos de visualización básicos para la etiqueta y el contenido de cada uno de los campos. Por defecto, hay dos conjuntos de valores que podemos establecer: uno para el predeterminado (nodo completo) y otro para el Teaser. La opción predeterminada muestra el elemento de contenido completo y Teaser muestra sólo el título del elemento de contenido y una versión recortada del campo del cuerpo. Puedes cambiar entre estos mediante los dos enlaces en la parte superior izquierda de la página. Si haces clic en la lista de selección de la etiqueta de cada campo, encontrarás tres opciones:

    • Arriba: la etiqueta se mostrará en una línea inmediatamente superior al widget que seleccionaste para tu campo.

    • Inline: la etiqueta se mostrará a la izquierda de tu widget, en la misma línea que el widget.

    • Oculto: la etiqueta no se mostrará en pantalla.

Si haces clic en la lista de selección para el formato de cada campo, encontrarás una selección de opciones dependiendo del tipo de campo. Para los campos relacionados con el texto, las opciones son:

    • Predeterminado: el contenido se mostrará en la pantalla tal como se especificó cuando creaste el campo.

    • Resumen: si el tipo de campo tiene un valor de resumen y un valor de cuerpo, se mostrará el valor resumen. Si no hay un resumen, el valor del cuerpo se recortará a una longitud especificada.

    • Recortado: el contenido se recortará a un número de caracteres especificado. Si el contenido es mayor que el número especificado de caracteres, se mostrará un enlace “Leer más”.

    • Oculto: el contenido no aparecerá en pantalla.

Para otros tipos de campo las opciones dependen del tipo de contenido que se muestra.

Para cambiar la posición de un campo, haz clic y mantén presionado el icono de flechas junto a la etiqueta de campo del elemento que desees mover, arrastra el campo a la posición donde desees que aparezca y suelta el botón del ratón. Recuerda hacer clic en el botón Guardar después de haber movido todos los campos a su posición correcta.

También podemos definir cómo se mostrará el contenido para otros modos que no sean el predeterminado y Teaser, como RSS, índice de búsqueda y resultado de la búsqueda. Para activar esos modos, simplemente haz clic en el enlace “Configuración de visualización personalizada” en la parte inferior de la página “Administrar” para expandir la lista y seleccionarla en la lista de modos.

Con los modos adicionales habilitados, puedes definir cómo se mostrará tu contenido cuando, por ejemplo, se muestre un evento en la página de resultados de búsqueda.

También puedes definir tus propios modos que se pueden utilizar para mostrar contenido de forma diferente en varios escenarios. Para crear un nuevo modo de vista, visita Estructura ➤ Modos de visualización ➤ Modos de vista y haz clic en el botón “Añadir nuevo modo de vista”. Selecciona Contenido en la lista de opciones y, cuando se te solicite, da un nombre a tu modo de vista (ej. MiVista). Una vez que se haya creado tu nuevo modo de vista, puedes utilizar ese modo en la página Gestionar visualización para definir la salida única para ese modo de vista.