En Drupal 8 muchas cosas han cambiado y todo lo ha heredado el 9, y a la hora de desarrollar mas todavía ya que ha cambiado de manera radical. A si que ya no es tan sencillo ponerse a desarrollar, y para facilitarnos la vida, ahora podemos activar algunas opciones extra en Drupal que nos van a falicitar mucho las cosas.
Se trata del modo desarrollador, y es que este modo, nos permite ver informacion extra en pantalla para poder hacer debug mas facilmente, y tambien desactivar la cache, la cual es nuestro mayor enemigo cuando queremos ponernos a desarrollar.
Un problema general, la cache
Uno de los problemas que tenemos, es el tener que limpiar cache cuando desarrollamos para ver, por ejemplo la salida de un dpm, si tu terminal se parece a la mía, tienes ese problema.
$ drush cr
Cache rebuild complete. [ok]
$ drush cr
Cache rebuild complete. [ok]
$ drush cr
Cache rebuild complete. [ok]
$ drush cr
Cache rebuild complete. [ok]
$ drush cr
Cache rebuild complete. [ok]
Activar el modo desarrollo
Para no tener que limpiar la cache cada vez que hacemos una prueba y queremos ver la salida de un dpm por ejemplo, tenemos que activar ciertas opciones para que Drupal no utilice la cache interna que tiene, los pasos son los siguientes:
1: Copiar el archivo sites/example.settings.local.php a sites/default/settings.local.php
$ chmod 755 sites/default/
$ cp sites/example.settings.local.php sites/default/settings.local.php
$ chmod 744 sites/default/settings.php
2: En nuestro sites/default/settings.php descomentar las siguientes lineas:
$ nano sites/default/settings.php
if (file_exists(__DIR__ . '/settings.local.php')) {
include __DIR__ . '/settings.local.php';
}
3: En el archivo sites/default/settings.local.php descomentamos algunas lineas:
$ nano sites/default/settings.local.php
$settings['cache']['bins']['render'] = 'cache.backend.null';
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';
4: Volvemos a poner los permisos iniciales:
$ chmod 555 sites/default/
$ chmod 444 sites/default/settings.php
5: Limpiar la cache de Drupal ejecutando "drush cr" en la terminal.
$ drush cr
Modo debug de Twig
Como paso adicional, podemos activar el modo debug en Twig:
1: Copiar el archivo sites/default/default.services.yml a sites/default/services.yml.
2: Modificar los siguientes parametros
parameters:
twig.config:
debug: true
auto_reload: true
cache: false
3: Limpiamos la cache de Drupal con “drush cr”.
$ drush cr
Mas corto con Drupal console
Tambien podemos saltarnos todos estos pasos, y utilizar Drupal console (si aun usamos Drupal 8) con el comando "drupal site:mode dev", pero al hacer esto, debemos realizar igualmente la edicion del archivo settings.php para utilizar el archivo settings.local.php y descomentar las dos lineas que se comentan en el articulo. Para poner el sitio en modo produccion, debemos usar "drupal site:mode prod" y editar el archivo settings.php para que no use el archivo settings.local.php
Con estos sencillos pasos ya tendremos nuestro Drupal 8 preparado para desarrollar. Debemos recordar revertir estos pasos cuando vallamos a poner nuestro sitio en producción.
Me metí en la aventura de Drupal con la versión 6, y aquí estoy, 10 años después, escribiendo articulos y haciendo videos sobre Drupal, quien me lo iba a decir. Aunque he probado otros framworks y cms, me quedo con Drupal de lejos, pero Symfony y Django estan entre mis favoritos. Aficionado a la montaña, la bicicleta, y el comer, de eso que no falte.