Twig, and the new theme layer in Drupal 8

Conference, Camp, or DUG: 
DrupalCon Sydney
Date: 
Feb 8th, 2013

Drupal 8 has a new theme engine: Twig. Twig provides several advantages over PHPtemplate, our previous theme engine, including: Security, Performance (probably), and Ease of Use.

Though we all know and love PHPTemplate, Drupal is not really using the PHPTemplate theme engine anymore. In order to overcome the shortfalls we encountered, we solved problems by creating a Drupal-specific combination of PHPTemplate and giant renderable "Arrays of Doom". Though the current solution was infinitely flexible for those who understand it - we've managed to produce a theme layer that is painfully frustrating to use, for all the people who needed it most.

Front-end developers who want to write their own HTML, CSS, and JavaScript, and who are experts in those areas, have been forced to learn PHP and understand the inner workings of Drupal in ways that were never intended.

The theme layer is also the place where people who are new to Drupal, including many of our current core developers, first get their start. By making this entry point unapproachable and territory for Drupal experts only, we're not only frustrating the front-end developer community, but possibly turning away potential contributors, by making the first step too high.

The move to Twig means we can take a good hard look at all the markup generated by Drupal core. We're working hard to create a Drupal Theming wonderland where things are consistent, intuitive, and easy to work with.

In addition to moving to Twig, the rest of the system is also getting an overhaul. We've already identified over 40 theme functions in core that can be removed or consolidated, and we're working hard on creating a Theme Component Library so all markup coming out of Drupal can be consistent.

In this session We'll point out some of the problems we faced with PHPTemplate and Renderables, and show how these issues are being addressed through the move to Twig. There's still a lot to do, and some things we still haven't decided on yet, but we're definitely making progress.

Come see what template files will look like in Drupal 8, and learn how you can get involved in making a better Tommorrow for your favorite CMS.

© 2024 Jeneration Web Development