Como añadir theme_hook_suggestions en Drupal 8

En drupal 7, cuando queriamos añadir un archivo tpl personalizado utilizamos algun hook_preprocess_hook() y dentro del array variables añadiamos el valor theme_hook_suggestions de la siguiente manera:


/**
* Implements hook_preprocess_HOOK()
*/
function MITEMA_preprocess_node(&$variables) {
$variables['theme_hook_suggestions'][] = 'node__MIPLANTILLA';
}

En drupal 8 sigue existiendo la posibilidad de añadir plantillas personalizadas, ahora en lugar de hacerlo en el preprocess han añadido un hook unicamente para esta tarea. Ahora se debe realizar de la siguiente manera:

/** * Añade la opcion de añadir plantillas personalizadas */ function MITEMA_theme_suggestions_HOOK_alter(array &$suggestions, array $variables) { $suggestions[] = 'node__' . 'my_suggestion'; $suggestions[] = 'node__' . 'otra_mas'; }

Con lo anterior declarado podriamos crear ahora las plantillas node--my-siggestion.html.twig y node--otra-mas.html.twig. Lo malo de la manera de ahora si estabamos acostumbrados a la anterios, es que ha cambiado, lo bueno, que ya no se mezcla con los preprocess, que podia llegar a suponer un escandalo en el codigo en temas complejos.

En mi opinion ahora esta mejor que antes ya que queda mas ordenado y facilita la lectura del codigo.