Member-only story

Cómo Sobrescribir Una Template de Un Módulo En Drupal

Modifica la template sin tener que modificar el módulo

Sergio Guardiola Herrador
2 min readSep 18, 2024
Photo by Luca Bravo on Unsplash

A veces necesitamos poder editar una template de un módulo, pero si es un módulo contribuido, eso implicaría crear un parche y, en la mayoría de los casos, los cambios que necesitamos hacer en la template son exclusivos de nuestro proyecto, no realmente para otros.

¿Qué podemos hacer en este caso? Podemos crear una template fuera del módulo que sobrescriba la del módulo.

Para este ejemplo, estoy sobrescribiendo la template del módulo dropzonejs en un módulo custom (administration), pero también puedes hacerlo desde el theme. Solo necesitamos agregar dos funciones y crear nuestra template. Estos son los pasos:

  • Primero, declara la nueva template:
/**
* Implements hook_theme_suggestions_alter().
*/

function administration_theme_suggestions_alter(array &$suggestions, array $variables, $hook) {
// Use switch so we can easily add another hook in the future.
switch ($hook) {
case 'dropzonejs':
$suggestions[] = $hook . '__' . 'custom';
break;
}
}
  • Luego, declara la ruta a la template:
/**
* Implements hook_theme().
*/

function administration_theme($existing, $type, $theme, $path) {
return […
Sergio Guardiola Herrador
Sergio Guardiola Herrador

Written by Sergio Guardiola Herrador

I write articles in English and Spanish, mostly about programming, technology, travel, money, investing. You can find me here: https://sergioguardiola.net

No responses yet

Write a response