Exclude Node Title
Proporciona la opción de excluir títulos de nodos de la visualización por nodo individual, tipo de contenido (bundle) y modo de visualización.
exclude_node_title
Install
composer require 'drupal/exclude_node_title:^2.0'
composer require 'drupal/exclude_node_title:8.x-1.4'
Overview
Exclude Node Title es un módulo simple pero potente que otorga a los administradores del sitio y editores de contenido control sobre si los títulos de los nodos se muestran en el front-end de su sitio Drupal. Aborda una necesidad común en la tematización de Drupal donde los desarrolladores desean ocultar títulos de nodos en ciertos contextos sin modificar archivos de plantilla.
El módulo ofrece dos modos principales de operación: exclusión automática para todos los nodos de un tipo de contenido específico, o exclusión definida por el usuario donde los editores de contenido pueden elegir ocultar títulos nodo por nodo mediante una casilla de verificación en el formulario de edición del nodo. Los administradores pueden configurar qué modos de visualización (página completa, teaser, resultados de búsqueda, formulario de nodo, etc.) deben tener los títulos excluidos.
El módulo proporciona dos métodos para ocultar títulos: eliminar completamente el texto del título del renderizado, o agregar una clase CSS (visually-hidden) para ocultar el título mientras se mantiene accesible para lectores de pantalla. Esta flexibilidad permite a los constructores de sitios elegir el enfoque que mejor se adapte a sus requisitos de accesibilidad y SEO.
Features
- Excluir títulos de nodos de la visualización en nodos individuales o en todos los nodos de un tipo de contenido
- Configurar la exclusión de títulos por modo de visualización (página completa, teaser, resultados de búsqueda, formulario de nodo y modos de visualización personalizados)
- Dos modos de renderizado: eliminación completa del texto u ocultación basada en CSS con clase visually-hidden
- Exclusión definida por el usuario con casilla de verificación en el formulario de edición de nodos para editores de contenido
- Opción para excluir títulos de las páginas de resultados de búsqueda (requiere el módulo Search)
- Control de acceso basado en permisos para excluir títulos (nodos propios o cualquier nodo)
- Integración con Display Suite para control de visualización del campo de título
- Limpieza automática cuando se eliminan tipos de contenido
- Soporte para vista previa de nodos con exclusión de título
Use Cases
Páginas de destino con encabezados personalizados
Crear páginas de destino donde el título del nodo se usa para propósitos administrativos pero un campo de encabezado personalizado o sección hero proporciona el título de página visible. Establecer el tipo de contenido en modo de exclusión 'Todos los nodos' y seleccionar el modo de visualización 'Contenido completo'.
Elementos de portafolio con títulos visuales
Para contenido de portafolio o galería donde los títulos se muestran como parte de la imagen destacada o en un elemento de diseño personalizado, habilitar el modo 'Todos los nodos' para prevenir la visualización duplicada del título mientras se mantienen los títulos en teasers para páginas de listado.
Visibilidad de título controlada por el editor
Permitir a los editores de contenido decidir artículo por artículo si mostrar los títulos. Configurar el tipo de contenido con el modo 'Nodos definidos por usuario' y otorgar a los editores el permiso 'exclude own node title'. Una casilla de verificación aparecerá en el formulario de edición del nodo.
Títulos ocultos accesibles
Usar el tipo de renderizado 'Clase oculta' cuando desee ocultar títulos visualmente pero mantenerlos disponibles para lectores de pantalla y SEO. La clase visually-hidden oculta el contenido de los usuarios videntes mientras permanece accesible para tecnologías de asistencia.
Personalización de resultados de búsqueda
Ocultar títulos de nodos de los resultados de búsqueda cuando su visualización de búsqueda usa formato de resultados personalizado o cuando los títulos son redundantes con otra información mostrada. Habilitar la opción 'Eliminar título de nodo de las páginas de búsqueda'.
Ocultación de título en formulario de nodo
Ocultar la visualización del título en formularios de edición de nodos seleccionando 'Formulario de nodo' en los modos de visualización. Útil cuando se usa generación automática de títulos o cuando el campo de título se ha movido a una ubicación diferente en el formulario.
Tips
- Cuando se usa el modo 'Clase oculta', el título permanece en el DOM con una clase visually-hidden, lo cual es mejor para accesibilidad y SEO que la eliminación completa.
- El modo de visualización 'Formulario de nodo' permite ocultar títulos en páginas de edición, útil cuando los títulos son autogenerados o gestionados en otra parte del formulario.
- Las exclusiones definidas por usuario se almacenan en la State API, no en configuración, por lo que no se exportan con la gestión de configuración.
- El módulo agrega una clase 'exclude-node-title' al elemento body de las páginas de nodos excluidos, que puede usarse para CSS adicional.
- Para layouts de Display Suite, usar el campo node_title extendido para obtener soporte adecuado de exclusión en lugar de depender de hooks de preproceso.
Technical Details
Admin Pages 1
/admin/config/content/exclude-node-title
Configurar qué tipos de contenido y modos de visualización deben tener los títulos de nodos excluidos de la visualización. Establecer opciones globales para la exclusión en páginas de búsqueda y elegir el método de renderizado para ocultar títulos.
Permissions 3
Hooks 12
hook_preprocess_html
Modifica el título del encabezado HTML y agrega la clase exclude-node-title al body cuando se visualizan nodos excluidos o sus formularios de edición.
hook_preprocess_page_title
Procesa las variables del título de página para ocultar o eliminar el título según la configuración.
hook_preprocess_page
Procesa las variables de página para aplicar la exclusión de título en la vista de página completa y formularios de edición.
hook_preprocess_node
Procesa las variables de plantilla de nodo para excluir la etiqueta/título del nodo según los ajustes del modo de visualización.
hook_preprocess_field
Elimina el contenido del campo de título de los resultados de búsqueda cuando la exclusión de búsqueda está habilitada.
hook_preprocess_search_result
Elimina el título de las variables del resultado de búsqueda cuando la exclusión de búsqueda está habilitada.
hook_form_node_form_alter
Agrega la casilla de verificación 'Excluir título de la visualización' a los formularios de edición de nodos para tipos de contenido con modo 'definido por usuario', y oculta el campo de título si está configurado.
hook_node_insert
Guarda el indicador de exclusión de nodo cuando se crea un nuevo nodo con la casilla de exclusión marcada.
hook_node_update
Actualiza el indicador de exclusión de nodo cuando se guarda un nodo existente.
hook_node_delete
Elimina los nodos borrados de la lista de exclusión.
hook_ds_fields_info_alter
Sobrescribe el plugin de campo node_title de Display Suite con la versión extendida del módulo que respeta los ajustes de exclusión.
hook_block_view_page_title_block_alter
Oculta el bloque de título de página para nodos que tienen la exclusión de título habilitada.
Troubleshooting 5
Limpiar todas las cachés después de guardar la configuración. El módulo limpia automáticamente las cachés al guardar, pero puede ser necesaria una limpieza manual de caché. También verificar que el modo de visualización correcto esté seleccionado - para visualización de página completa, seleccionar 'Contenido completo' o 'Default'.
Verificar que el tipo de contenido esté configurado en modo 'Nodos definidos por usuario' (no 'Todos los nodos' o 'Ninguno'). También comprobar que el usuario tenga el permiso 'exclude any node title' o 'exclude own node title'.
Revisar las casillas de verificación de modos de visualización para el tipo de contenido en los ajustes de administración. Los modos de visualización personalizados de Views o Display Suite necesitan ser seleccionados explícitamente.
Habilitar el módulo Search del core. La función de exclusión de búsqueda requiere que el módulo Search esté instalado y habilitado.
Verificar los ajustes del campo DS para node_title y asegurarse de que 'Usar Exclude Node Title' esté configurado en 'Sí'. Este ajuste está en sí por defecto pero puede haber sido cambiado.
Security Notes 2
- El permiso 'administer exclude node title' tiene acceso restringido y solo debe otorgarse a administradores de confianza ya que controla el comportamiento de visualización de todo el sitio.
- La exclusión de título de nodo es puramente una función de visualización y no afecta el acceso al nodo o la seguridad - los títulos siguen siendo accesibles vía la API y pueden aparecer en otros contextos.