User login

Get the path to a Drupal module or theme

This is a very useful function in Drupal's API that is hard to find searching online for file system paths to Drupal modules or themes or anything like that.

So to get the path to a Drupal module or theme it's as simple as:

<?php
  drupal_get_path('module', $module_name);
?>

or:

<?php
  drupal_get_path('theme', $theme_name);
?>

http://api.drupal.org/api/function/drupal_get_path/5

Resolution

Searched words: 
drupal get module path path to theme

Comments

In practice

The file in this example is included in the theme, rather than a module (and yes stuffing functional code in the theme makes me want to cry) -- the path at issue is:

<?php
 include('/var/www/html/sites/all/themes/example/includes/video/video.php');
?>

The previous developers should be slapped (trademarked- TPDSBS) for hardcoding the server path into their call to other files from their theme.

The Drupal fix holds whether it's a file in a module or a theme-- do not hard-code it to our path, but to use the drupal_get_path function described here:

<?php
$theme_path = drupal_get_path('theme', 'example');
include($theme_path .'/includes/video/video.php');
?>

Good Times

This was here right when I needed it, just like you were saying up in Chicago.

I found out I'm definitely coming to Boston in a few weeks (well, Cambridge). We should hang.

this is helpful when you are

this is helpful when you are trying to put all your template files in a subfolder under your folder that contains your module.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • You can use Markdown syntax to format and style the text. Also see Markdown Extra for tables, footnotes, and more.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <blockquote> <small> <h2> <h3> <h4> <h5> <h6> <sub> <sup> <p> <br> <strike> <table> <tr> <td> <thead> <th> <tbody> <tt> <output>
  • Lines and paragraphs break automatically.

More information about formatting options

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