Drupal 8: Configurando el entorno de desarrollo y habilitar debug en Twig

Cabecera de Drupal 8: Configurando el entorno de desarrollo

Drupal 8: Configurando el entorno de desarrollo y habilitar debug en Twig

  • Autor: fjavimartin

  • Fecha de Creación: 25/01/2017

  • Categorías:

    • Drupal,
    • Drupal 8,
    • Twig,
    • Debug

En esta nueva versión de Drupal vamos a poder tener ficheros de configuración diferentes para el entorno de pruebas y producción. Mientras que tenemos uno de ellos con la caché deshabilitada o el debug de twig activo, podemos tener otro fichero optimizado para que drupal nos ofrezca el mejor rendimiento posible.

Configuración settings.local.php

La mayoría de los que estáis leyendo este artículo seguramente estéis familiarizados con el fichero settings.php. Drupal 8 nos va a permitir incluir una línea extra en este fichero para poder cargar una configuración personalizada para cada entorno.

En el directorio sites encontraréis un fichero example.settings.local.php que tendréis que renombrar y copiar al directorio sites/default como settings.local.php.

$ sudo cp example.settings.local.php ./default/settings.local.php

Una vez copiado tendremos que editar el fichero settings.php para eliminar el comentario a las siguientes líneas que estarán ubicadas en la parte final del fichero.

/**
 * Load local development override configuration, if available.
 *
 * Use settings.local.php to override variables on secondary (staging,
 * development, etc) installations of this site. Typically used to disable
 * caching, JavaScript/CSS compression, re-routing of outgoing emails, and
 * other things that should not happen on development and testing sites.
 *
 * Keep this code block at the end of this file to take full effect.
 */

if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
  include $app_root . '/' . $site_path . '/settings.local.php';
}

Bien, drupal ya está leyendo nuestro fichero de configuración recién creado. El siguiente paso será modificar settings.local.php de la siguiente manera:

Deshabilitaremos la agregación de CSS y JS

/**
 * Disable CSS and JS aggregation.
 */
$config['system.performance']['css']['preprocess'] = TRUE;
$config['system.performance']['js']['preprocess'] = TRUE;

Deshabilitaremos el render y la caché de página

$settings['cache']['bins']['render'] = 'cache.backend.null';
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';

Deshabilitaremos el escaneo de módulos y themes de prueba

$settings['extension_discovery_scan_tests'] = FALSE;

Una vez realizados todos estos cambios iremos a la siguiente url de nuestro sitio drupal core/rebuild.php para reconstruir la caché y empezar a disfrutar de nuestra nueva configuración.

Configuración del debug en Twig

Otra de las novedades en drupal 8 ha sido la inclusión de plantillas Twig y podremos habilitar el depurado de las mismas lo que nos permitirá trazar que plantilla está siendo utilizada en cada momento, donde está situada y una lista de posibles nombres para esta misma plantilla para el caso de querer hacer override.

Para ello tendremos que editar el fichero sites/development.services.yml para incluir las siguientes líneas:

parameters:
  twig.config:
    debug: true
    auto_reload: true
    cache: false

Será muy importante respetar en todo momento los espacios porque en caso contrario no leerá la configuración y nos volveremos locos hasta dar con el motivo, doy fé.

Una vez editado el fichero se parecerá mucho a lo siguiente:

# Local development services.
#
# To activate this feature, follow the instructions at the top of the
# 'example.settings.local.php' file, which sits next to this file.
parameters:
  http.response.debug_cacheability_headers: true
  twig.config:
    debug: true
    auto_reload: true
    cache: false
services:
  cache.backend.null:
    class: Drupal\Core\Cache\NullBackendFactory

Como podréis ver cambia respecto al fragmento inicial que he copiado, se debe a que este fichero ya existe en el sistema y tiene líneas ya incluidas. No nos valdrá con añadir el fragmento inicial al fichero porque estaremos repitiendo la entrada parameters y no la leerá.

Con todos nuestros ficheros de configuración modificados solamente nos quedará visitar de nuevo la url core/rebuild.php y ahora el html de salida para nuestro sitio drupal se parecerá a lo siguiente:

 

Imagen - Drupal Debug con Twig

Imagen 1 - Debug con twig

Saludos.

Todos los Derechos Reservados © 2016

Funciona con Drupal