Drupal 7 theme engine's secrets and dark corners

Speakers: 

Functions like

  • theme()
  • hook_theme()
  • drupal_render()
  • drupal_find_theme_*()
  • template_preprocess_HOOK()

are well known and widely used but have lots of pitfalls, infamous but still useful approaches, different performance issues or not widely used tricks, etc.

Element's properties like

  • #after_build
  • #field_prefix/suffix
  • #post_render
  • #pre_render
  • #suffix
  • #prefix
  • #process
  • #theme
  • #theme_wrappers

can be used for different theme purposes, but every property/callback has its own purpose and messing it up brings problems and "miracle" behaviors.

Unfortunately back-end developers and front-end developers usually have some communication problems:

  • "Put field description before field itself"
  • "Add class here if ....."
  • "Can you remove all unused HTML here"
  • "I want full template for this particular form"

and I will show how it can be done only by front end developer from his custom theme.

Schedule info
Experience level: 
Intermediate
Drupal Version: 
Drupal 7.x