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
26,307 sites
43
drupal.org
Drupal 8 Drupal 9 Drupal 10 Drupal 11

Install

Drupal 11, 10 v2.0.0
composer require 'drupal/exclude_node_title:^2.0'
Drupal 9, 8 v8.x-1.4
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
Exclude Node Title /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
Administrar exclude node title

Permite el acceso a la página de configuración de Exclude Node Title. Este permiso tiene acceso restringido y solo debe otorgarse a administradores de confianza.

Excluir título de cualquier nodo

Permite a los usuarios excluir títulos de cualquier nodo al editar, independientemente de la propiedad del nodo. La casilla de verificación 'Excluir título de la visualización' aparecerá en los formularios de edición de nodos para tipos de contenido configurados con el modo 'Nodos definidos por usuario'.

Excluir título de nodo propio

Permite a los usuarios excluir títulos solo de los nodos que poseen. La casilla de verificación 'Excluir título de la visualización' aparecerá en los formularios de edición de nodos para su propio contenido cuando el tipo de contenido está configurado con el modo 'Nodos definidos por usuario'.

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
El título sigue mostrándose después de habilitar la exclusión

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'.

La casilla de exclusión no aparece en el formulario de edición de nodo

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'.

Título oculto en modos de visualización incorrectos

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.

La opción de exclusión de búsqueda está deshabilitada

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.

El campo de título de Display Suite ignora los ajustes de exclusión

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.