How to get the variables available in a Drupal template

This is such a basic PHP function but easy to forget and hard to find for some reason. Anyway, here are a selection of the best ways to find what variables are available in a template file.

First off, the function you need is:

get_defined_vars();

The quickest way to use it is to put the following in your template file:

print_r(get_defined_vars());

Next, install the devel module. Once installed you will now have a 'Devel' tab available when viewing nodes (if you have the correct permission set up).

With the devel you also get a few handy functions:
Print a nicely formatted array to the message area of the page:

dpm(get_defined_vars());

Dump the variables to a temporary log file: /tmp/drupal_debug.txt

dd(get_defined_vars());

To watch the file in your terminal:
tail -f /tmp/drupal_debug.txt

or
tailf /tmp/drupal_debug.txt

Post new comment

By submitting this form, you accept the Mollom privacy policy.

User login

Author of...

  • @Casablanca Is javascript disabled in your browser? 13 years 40 weeks ago
  • Been listening to my loved #lastfm tracks for the past week via the chrome plugin goo.gl/kF48s and now my Recommended tracks are awesome! 13 years 40 weeks ago
  • @Casablanca I'm proud! 13 years 40 weeks ago
  • HTML5 Presentations make me happy, especially when they're about HTML5 goo.gl/Fx9Sp 13 years 41 weeks ago
  • @philhawksworth goo.gl/TLwWd 13 years 42 weeks ago
  • @philhawksworth for some reason I imagine you walking around with a monocle in one eye, pointing at code and stuff with a cane! 13 years 42 weeks ago
  • Ooh, the #ux prototyping in code bootcamp looks good http://www.uxbootcamp.org/ Go code! How about prototyping in #Drupal? 13 years 47 weeks ago
  • @markboulton You could do it with #Drupal n/o premium module goo.gl/JLUxN and the role sub module of Ubercart goo.gl/z4mxT goo.gl/dZ0SF 13 years 47 weeks ago
Oliver Polden