/
Twig
Twig
Drupal 8 is upon us and with it comes the Twigification of all theme output. Anything that was a PHP template or theme function in Drupal 7 is now a Twig template so we all need to level up on our Twiggy knowledge—and I'm not talking about this Twiggy or this Twiggy.
Syntax
Printing
{{ someVar }}
Comments
{# This is a comment, yo. #}
Control Structures
{% if var %} ... {% endif %}
{% for user in users if user.active %} {{ user.name }} : {{ user.email }} {% else %} {# No active users #} {% endfor %}
Documentation
From the creators:
- http://twig.sensiolabs.org/
- http://twig.sensiolabs.org/documentation
- http://twig.sensiolabs.org/doc/templates.html Good outline of syntax and semantics
Drupal specific:
- Twig theming overview: https://www.drupal.org/docs/8/theming/twig
- Working With Twig Templates: https://www.drupal.org/docs/8/theming/twig/working-with-twig-templates
- Twig Template naming conventions: https://www.drupal.org/docs/8/theming/twig/twig-template-naming-conventions
- Comparison of PHPTemplate and Twig theming paradigms: https://www.drupal.org/docs/8/theming/twig/comparison-of-phptemplate-and-twig-theming-paradigms
- Discovering and Inspecting Variables in Twig Templates: https://www.drupal.org/docs/8/theming/twig/discovering-and-inspecting-variables-in-twig-templates
- Debugging Twig templates: https://www.drupal.org/docs/8/theming/twig/debugging-twig-templates
- Debugging compiled Twig templates https://www.drupal.org/docs/8/theming/twig/debugging-compiled-twig-templates
- Locating Template Files with Debugging: https://www.drupal.org/docs/8/theming/twig/locating-template-files-with-debugging
- Filters - Modifying Variables In Twig Templates: https://www.drupal.org/docs/8/theming/twig/filters-modifying-variables-in-twig-templates
- Functions - In Twig Templates: https://www.drupal.org/docs/8/theming/twig/functions-in-twig-templates
- Macros in Twig Templates: https://www.drupal.org/docs/8/theming/twig/macros-in-twig-templates
- Twig best practices - preprocess functions and templates: https://www.drupal.org/docs/8/theming/twig/twig-best-practices-preprocess-functions-and-templates
- Create custom twig templates from custom module: https://www.drupal.org/docs/8/theming/twig/create-custom-twig-templates-from-custom-module
- Drupal specific twig filters https://www.drupal.org/node/2357633
Tutorials:
- Not Drupal specific despite being on Drupalize.me but fairly comprehensive outline of all the concepts.
https://drupalize.me/videos/twig-basics?p=1899 - Overview page with links to all the Drupal-specific Twig videos.
https://drupalize.me/tutorial/twig-drupal?p=2512
- Lots more in-depth and Drupal specific stuff here.
https://drupalize.me/search?query=twig
Dev Setup
- Atom
- Language support: https://github.com/reesef/php-twig
- Snippets: https://gist.github.com/soniktrooth/593722ae72a57cd1a5d06efaa8a09ce8
Related content
CSS/SASS philosophy
CSS/SASS philosophy
More like this
Comments | CSS + SCSS
Comments | CSS + SCSS
More like this
SCSS coding standards
SCSS coding standards
More like this
Core Block Customization Reference
Core Block Customization Reference
More like this
Coding Standards
Coding Standards
More like this
WordPress Training Videos
WordPress Training Videos
More like this