Module template file to extend theme I want my module (events) to have its own template files but extend the base theme currently enabled.

hook_theme():

function events_theme($existing, $type, $theme, $path) {
    return array(
        'test_events' =&gt; array(
            'variables' =&gt; array('testingvar' =&gt; 123),
            'template' =&gt; 'test_events',
            'path' =&gt; drupal_get_path('module', 'events') . '/templates',
            'base hook' =&gt; 'mytheme'
        )
    );
}


In my menu callback I have:
print theme('test_events');

This outputs the contents of the template file, but it doesn't recognize the current theme that is enabled. Is there anyway I can extend the themes layout? 



Edit: current situation:

Abstract of  my directory structure:

Modules\
-custom\
--events\
---templates\
----test_events.tpl.php

Themes\
-mytheme\
--templates\
---test_events.tpl.php


events.module:

function events_theme($existing, $type, $theme, $path) {
    return array(
        'different_event_hook' =&gt; array(
            'path' =&gt; $path . '/templates',
            'template' =&gt; 'test_events'
        )
    );
}


menu callback:

print theme('different_event_hook');


Result renders from module template file, if I change different_event_hook to test_events it renders from the theme template file.
The Drupal process is Core -> Module -> Theme. Trying to work backwards on that route is bad design, and should be avoided at all costs. Modules should not be based on themes, nor should they have any dependencies on themes, as themes are entirely dependent on modules, and downstream of modules.

If you need to make changes based on theme, it should happen in the theme.

Example. In your module, define hook_theme()

function hook_theme($existing, $type, $theme, $path)
{
  return array
  (
    'my_theme_hook' =&gt; array
    (
      // the template will be in [MODULE_ROOT]/templates
      'path' =&gt; $path . '/templates',
      'template' =&gt; 'my-theme-hook', // leave off the .tpl.php
    ),
  );
}


The above defines a new theme hook called my_theme_hook, and the output of that theme hook is built in the template [MODULE_ROOT]/templates/my-theme-hook.tpl.php

Now you can use [MODULE_ROOT]/my-theme-hook.tpl.php, or even [MODULE_ROOT]/templates/my-theme-hook.tpl.php (this location works automatically for any templates). Clear your cache, and now the template in your theme will be used instead of the template in the module. Again, don't forget to clear your cache - the template will not be picked up until then.