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.
Introduction
TODO
Syntax
Printing
{{ someVar }}
Comments
Unknown macro: {# This is a comment, yo. #}
Control Structures
Unknown macro: {% if var %}
...
Unknown macro: {% endif %}
Unknown macro: {% for user in users if user.active %}
{{ user.name }} : {{ user.email }}
Unknown macro: {% else %}
Unknown macro: {# No active users #}
Unknown macro: {% 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
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