Continuamos con esta serie de artículos sobre como usar Composer en Drupal 8, en el anterior vimos como podíamos comenzar un proyecto nuevo de Drupal 8 utilizando Composer, y tambien a añadir módulos y temas contribuidos.
Composer, esa gran herramienta que nos puede facilitar mucho la vida en lo referente a trabajar con librerías de terceros en PHP. En esta serie de artículos vamos a aprender a como gestionar un sitio Drupal utilizando Composer.
Pero antes de comenzar, seguramente te estés preguntando, por que Composer, si podemos descargar los módulos manualmente, con Drush o Drupal console. Realmente, existen unas cuantas razones:
Hoy ha sido lanzada una nueva versión de Drupal, la 8.4.3, la cual es una versión de mantenimiento, es aconsejable que actualicemos, aunque no lo podemos tomar con calma, ya que no se trata de una versión de seguridad, por lo tanto, podemos relajarnos :)
Ya hemos hablado otras iniciativas de Drupal 8 con las cuales se ampliaran funcionalidades y mejorara durante su ciclo de vida. En este caso hablaremos de la iniciativa Workflow, la cual comenzó su andadura con Drupal 8.2 y ha avanzado mucho desde entonces. En un principio se lanzo el modulo experimental Content Moderation en la 8.2 y posteriormente, fue añadido Workflows en la versión 8.3. En octubre llegamos a la 8.4, en la cual comenzamos a ver esta iniciativa progresar.
En Drupal 8 recibimos un nuevo modulo para ampliar la ya larga lista de módulos disponibles en el core; media fue el modulo. Es un caso especial, ya que no ha pasado por la categoría de experimental, si no que directamente se ha considerado estable.
En drupal 7, una de las cosas que no me gustaba aunque parezca ridiculo, es el uso de la funcion theme. La razon es que si existen los arrays renderizables que se muestran con la funcion render(), para que crear otra funcion a la que se le pasan parametros y muestra un contenido para volver a pasarlo por render(), por que no unirlo todo en los arrays renderizables.
Pues eso es lo que han echo ahora, en Drupal 8 theme() ya no existe, y ahora todo va a traves de arrays renderizables:
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: