User login

Get the path to a Drupal module or theme

Searched words: 
drupal get module path path to 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

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.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Internal paths in single or double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or path. Paths to files in single or double quotes, written as "files:somefile.ext", for example, are replaced with the appropriate URL that can be used to download the file.
  • 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>
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Lines and paragraphs break automatically.

More information about formatting options

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