how to apply two themes for an element in custom module?
**
* Implements hook_theme().
*
* Defines the theming capabilities provided by this module.
*/
function YOURMODULENAME_theme() {

  return array(
    'THEMENAME1' =&gt; array(
    'template' =&gt; 'PATHTOTEMPLATEFILE', 
       // EXAMPLE URL FOR ABOVE - 'templates/mymodulename--event--list-item',
       // This will make the module look for mymodulename--event--list-item.tpl.php
       // in the template folder within the module's directory 
    'variables' =&gt; array(
      'SOMEVARIABLETOPASSTOTHETEMPLATE' =&gt; NULL,
      'ANOTHERVARIABLETOPASSTOTHETEMPLATE' =&gt; NULL,
      ),
    ),
  ),

}


Then when you have to return the content for the block or page, just call this function:

$output = theme("THEMENAME1", array('SOMEVARIABLETOPASSTOTHETEMPLATE' =&gt; "this is the variable that gets passed to the tpl", 'ANOTHERVARIABLETOPASSTOTHETEMPLATE' =&gt; "Another variable that is being passed to the template"));
return $output; // You could also just return the theme function above


Now, within your mymodulename--event--list-item.tpl.php file (Or whatever you named it) you can print any of the variables that you defined above.

&lt;div class="somemarkup"&gt;
  &lt;?php print $SOMEVARIABLETOPAsStOTHETEMPLATE; ?&gt;
&lt;/div&gt;