Empty Fields

Proporciona opciones para mostrar campos vacíos que de otro modo estarían ocultos, utilizando configuraciones de formato de visualización configurables.

empty_fields
3,494 sites
31
drupal.org

Instalar

Drupal 11, 10, 9 v8.x-1.0
composer require 'drupal/empty_fields:8.x-1.0'

Overview

El módulo Empty Fields proporciona una forma de mostrar campos que están vacíos añadiendo nuevas configuraciones de formato de visualización. Por defecto, Drupal oculta los campos que no tienen valor. Este módulo permite a los administradores del sitio configurar qué se debe mostrar cuando un campo está vacío, en lugar de ocultar el campo por completo.

El módulo funciona añadiendo una configuración de terceros a todos los formateadores de campos, permitiendo seleccionar un "Comportamiento de valor vacío" para cada campo en cada modo de vista. Cuando un campo está vacío y tiene un handler configurado, el módulo renderiza el campo con el contenido de reemplazo especificado en lugar de ocultarlo.

El módulo proporciona un sistema de plugins que permite a los desarrolladores crear handlers de campos vacíos personalizados. De forma predeterminada, incluye handlers para mostrar texto personalizado (con soporte de Token) y espacios de no separación. Se pueden añadir handlers adicionales mediante otros módulos usando la API de plugins.

Features

  • Muestra campos vacíos que normalmente serían ocultados por Drupal
  • Configuración por campo y por modo de vista a través de la interfaz Manage Display
  • Muestra texto personalizado cuando un campo está vacío con soporte completo de reemplazo de Token
  • Muestra espacio de no separación ( ) para mantener la estructura del diseño del campo
  • Arquitectura basada en plugins que permite a los desarrolladores crear handlers de campos vacíos personalizados
  • Manejo automático de respaldo para plugins faltantes o rotos
  • Añade clases CSS a la salida de campos vacíos para tematización (empty-fields, empty-fields__[handler])
  • Respeta los permisos de acceso a campos - solo muestra contenido vacío si el usuario tiene acceso de visualización

Use Cases

Mostrar texto de marcador de posición para campos de perfil faltantes

En páginas de perfil de usuario, muestra 'No especificado' o 'No se proporcionó información' para campos biográficos vacíos en lugar de ocultarlos. Esto mantiene un diseño consistente e informa a los visitantes que la información fue dejada en blanco intencionalmente en lugar de ser un error de visualización.

Mantener diseños tipo tabla con espacios de no separación

Al mostrar contenido en un diseño de cuadrícula o tipo tabla donde el CSS depende de que el contenido esté presente, usa el handler de espacio de no separación para asegurar que los campos vacíos aún renderizen su contenedor, previniendo el colapso del diseño.

Mostrar contenido de marcador de posición dinámico basado en el contexto

Usa el handler de texto personalizado con reemplazo de Token para mostrar contenido de marcador de posición consciente del contexto. Por ejemplo, muestra 'Edita tu perfil de [current-user:name] para añadir esta información' cuando un campo está vacío.

Visualización de campos consistente entre modos de vista

Asegura que todos los campos sean visibles en el modo de vista de contenido completo para revisión editorial, mientras ocultas campos vacíos en visualizaciones de resumen. Configura diferentes comportamientos de campos vacíos por modo de vista.

Depurar completitud del contenido

Durante la migración o entrada de contenido, muestra 'VACÍO - Necesita Revisión' para campos requeridos vacíos para ayudar a los editores a identificar contenido que necesita atención.

Tips

  • Usa reemplazo de Token en texto personalizado para crear mensajes de campos vacíos dinámicos y conscientes del contexto
  • Añade CSS personalizado dirigido a la clase .empty-fields para estilizar las visualizaciones de campos vacíos de manera diferente a los campos con valores
  • Crea plugins EmptyField personalizados para casos de uso complejos como mostrar contenido relacionado o llamar a servicios externos
  • Recuerda que las configuraciones de campos vacíos son por modo de vista, así que puedes tener diferentes comportamientos para los modos de visualización completo, resumen y otros
  • El módulo respeta los permisos de acceso a campos, por lo que el contenido vacío solo se mostrará si el usuario tiene permiso para ver el campo

Technical Details

Hooks 3
hook_field_formatter_third_party_settings_form

Añade el campo de selección de comportamiento de valor vacío a todos los formularios de configuración de formateadores de campos, permitiendo configurar qué mostrar cuando un campo está vacío.

hook_field_formatter_settings_summary_alter

Modifica el resumen de configuración del formateador para incluir el comportamiento de campo vacío configurado.

hook_entity_display_build_alter

Modifica la construcción de visualización de la Entity para inyectar contenido de campo vacío cuando un campo está vacío pero tiene un handler de campo vacío configurado.

Troubleshooting 4
El contenido del campo vacío no se muestra

Verifica que la configuración del formateador del campo tenga 'Comportamiento de valor vacío' configurado en algo diferente a '- Predeterminado -'. También verifica que el usuario tenga permiso para ver el campo.

Aparece el mensaje 'Este plugin está roto o faltante'

El plugin de handler de campo vacío configurado ya no existe. Esto puede suceder si un módulo que proporcionaba un handler personalizado fue desinstalado. Reconfigura el comportamiento de valor vacío del campo en Manage Display.

Los tokens no se están reemplazando en el texto personalizado

Asegúrate de que el módulo Token esté instalado y habilitado. También verifica que estés usando la sintaxis de Token correcta para el tipo de Entity que se está mostrando.

Los estilos de campos vacíos no se aplican

Verifica que el CSS de tu Theme esté dirigido a las clases correctas. Los campos vacíos tienen las clases 'empty-fields' y 'empty-fields__[handler]' en el contenedor del campo.