No se muestran los enlaces contextuales

2 minutos

Quizás hayas encontrado una situación donde los enlaces contextuales para un bloque no se renderizan. ¿Pero por qué ocurre esto y por qué son los enlaces contextuales tan importantes? Vamos a profundizar en este tema.

¿Qué son los Enlaces Contextuales?

Los enlaces contextuales son una característica poderosa en Drupal que proporcionan acceso rápido a opciones de edición y configuración para múltiples elementos en su sitio web. Estos enlaces se presentan como pequeños iconos de lápiz o iconos de engranaje en ciertas áreas de su sitio mientras estás identificado como administrador o usuario con permisos adecuados para usarlos.

Drupal Contextual Links Pencil Icon at the top right corner of a block

Para los bloques, los enlaces contextuales típicamente ofrecen opciones como:

  • Editar el contenido del bloque.
  • Configure los ajustes del bloque.
  • Eliminar el bloque.

¿Por qué son los Enlaces Contextuales Importantes?

  • Permiten a los administradores del sitio y editores de contenido acceder a opciones de edición rápidamente sin necesidad de navegar por múltiples menús.
  • Estos enlaces son específicos para el elemento con el que interactúas, lo que proporciona opciones relevantes basadas en tu contexto actual.
  • Hacen que el manejo del sitio sea más intuitivo, especialmente para usuarios no técnicos que podrían tener dificultades con la interfaz administrativa de Drupal.

El rol de "title_suffix" en la visualización de Enlaces Contextuales

Ahora, pongamos solución al principal problema: ¿por qué la ausencia de la variable "title_suffix" hace que los enlaces contextuales desaparezcan?

En Drupal, la variable "title_suffix" es un parte fundamental de la plantilla del bloque y proviene del módulo contextual en el núcleo de Drupal, aquí hay un enlace al código de contextual_preprocess.

<div{{ attributes.addClass(classes) }}>
  {{ title_prefix }}
  {% if label %}
    <h2{{ title_attributes.addClass('block__title') }}>{{ label }}</h2>
  {% endif %}
  {{ title_suffix }}
  {% block content %}
    <div{{ content_attributes.addClass('block__content') }}>
      {{ content }}
    </div>
  {% endblock %}
</div>

Así que ahora sabes que si vas a sobreescribir una plantilla de bloque, nunca debes eliminar el title_suffix.

Jidrone Drupal Developer
J. Ivan Duarte
Drupal Senior Developer

Share