Articles

Un tema es un conjunto de archivos que definen el nivel de presentación. También puedes crear uno o varios "subtemas" o variantes de tema. Solo se requiere un archivo .info.yml, pero la mayoría de los temas y subtemas usarán otros archivos además de este. En esta página se enumeran los archivos y carpetas que se encuentran en un tema o subtema típico.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Agregar regiones a un tema requiere:
- Agregar metadatos de la región en el archivo THEMENAME.info.yml.
- Editar el archivo page.html.twig e imprimir las nuevas regiones.
Nota. Si declaras alguna región en tu tema, incluso solo una, las regiones predeterminadas ya no se aplicarán y tú serás responsable de declarar todas las áreas que quieras usar.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Esta documentación es para temas. Para información sobre módulos, consulte la sección Agregar hojas de estilo (CSS) y JavaScript (JS) en un módulo Drupal 8.
En Drupal 8, las hojas de estilo (CSS) y JavaScript (JS) se cargan mediante el mismo sistema para módulos (código) y temas para todo: las bibliotecas de recursos.
Para mayor claridad, estas instrucciones están destinadas SOLO para trabajar en temas y no se aplican en módulos.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Twig es un motor de plantillas para PHP que forma parte del framework Symfony2.
En Drupal 8, Twig reemplaza a PHPTemplate como el motor de plantillas predeterminado. Una consecuencia de este cambio es que todas las funciones theme_* y archivos *.tpl.php basados en PHPTemplate han sido reemplazados por archivos de plantilla *.html.twig.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Drupal te permite sobrescribir todas las plantillas que se usan para generar el marcado HTML, para que tengas control total sobre el marcado que se muestra como salida en tu tema personalizado. Hay plantillas para cada elemento de la página, desde el HTML de alto nivel hasta campos pequeños.
Sobrescribir plantillas
Puedes sobrescribir las plantillas principales de Drupal agregando plantillas en la carpeta de tu tema, siguiendo una convención específica de nombres.
Para sobrescribir plantillas necesitas:

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Drupal carga las plantillas basándose en ciertas convenciones de nombres. Esto te permite sobrescribir plantillas añadiéndolas a tu tema y asignándoles nombres específicos.
Después de agregar una plantilla, debes reconstruir la caché para que Drupal detecte tu nueva plantilla.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Sobre Twig
Twig es un lenguaje de plantillas compilado basado en PHP. Cuando se muestra tu página web, el motor Twig toma la plantilla y la convierte en una plantilla PHP “compilada”, que se guarda en un directorio protegido en sites/default/files/php/twig. La compilación se realiza una vez, los archivos de plantilla se almacenan en caché para reutilización y se recompilan al limpiar la caché de Twig.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Al trabajar con un archivo de plantilla Twig, la mayoría de las variables están documentadas en los comentarios del archivo de plantilla. Sin embargo, cuando no es así, o cuando temas o módulos introducen nuevas variables, necesitamos una forma de descubrir todas las variables disponibles dentro de la plantilla. Twig proporciona la función dump() para descubrir y verificar variables en archivos de plantilla.


El motor de plantillas Twig ofrece una herramienta de depuración.
La implementación de Drupal 8 también añade una herramienta adicional que te permite encontrar la plantilla que genera el marcado.
Advertencia: habilitar la depuración de Twig puede romper algunas partes del sitio, especialmente Views. Consulta este problema.
Habilitar la depuración
Habilitas la depuración Twig en sites/default/services.yml
.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.

Cómo funciona Twig normalmente
Por defecto, el motor de temas Twig compila las plantillas en código PHP y guarda el código compilado en memoria. El código compilado no es adecuado para desarrollo, ya que los cambios en las plantillas Twig no se actualizan inmediatamente en tu sitio Drupal.

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.