Skip to content

EBDUG #2 - Twig and the new theme layer in Drupal 8

Mar 27 2013, 6:30pm to 8:30pm PDT

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.

{C}

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.

About the presenter:

Jennifer Lea Lampton founded her own web development company in 1997, right after graduating from High School. She has been actively building sites with Drupal and participating in the open-source community since 2006. Jen maintains several of her own modules, and contributes issues & patches to many other projects she works with. Her primary focus for improving Drupal is to make things easier to use ("usability") and easier to learn ("learnability") while trying to meet the needs of her clients. Jen is currently wrangling a ton of very awesome contributors to get Twig into Drupal 8 core.


Jen is a very active member in the Drupal community as well. She's a regular face at the Berkeley users group, an occasional attendee at the San Francisco users group, and drops in on other Drupal camps and conferences around the world. Jen is the lead coordinator for the Bay Area Drupal Camp, and was also on the organizing committee for DrupalCon San Francisco in 2010.