¿Cómo imprimir el logo de drupal en una plantilla twig?

Descripción
Descripción

Este código te permitirá imprimir el logo y el nombre del sitio utilizando en cualquier página de Drupal 8 y 9, recuerda que si necesitas utilizarlo en otro contenido que no sea una página, entonces la preprocess_function() deberá corresponderse con ese tipo de contenido.

Instrucciones
Instrucciones

Para imprimir el logo y el nombre del sitio en cualquier lugar de Drupal, podrás utilizar las preprocess_functions(), que es la forma en que tendrás la posiblidad de pasar mediante variable el valor que quieras a la plantilla del contenido que necesites.

Dependiendo del lugar en el que quieras imprimir el logo y nombre de tu sitio en Drupal 8 y 9, podrías necesitar las siguientes preprocess_functions():

  • function SUBTEMA_preprocess_node(array &$variables) { } // Para imprimir los valores en la plantilla de cualquier contenido.
     
  • function SUBTEMA_preprocess_paragraph(&$variables) { } // Para imprimir los valores en la plantilla de un Paragraphs.
     
  • function SUBTEMA_preprocess_page(array &$variables) { } // Para imprimir los valores en la plantilla de cualquier página.
     
  • function SUBTEMA_preprocess_block(array &$variables) { } // Para imprimir los valores en la plantilla de cualquier block.
Código
/**
 *Implement hook_preprocess_page()
 *
 */
function SUBTEMA_preprocess_page(&$variables) {
  $site_config = \Drupal::config('system.site');
  $variables['site_name'] = $site_config->get('name');
  $variables['site_slogan'] = $site_config->get('slogan');

  // Este codigo permitira imprimir el logo si lo haz subido usando la interfaz o si lo has puesto en la carpeta correspondiente
  $variables['logopath'] = file_url_transform_relative(file_create_url(theme_get_setting('logo.url')));

}