开发者

Can I override a theme function with a .tpl file?

How would I go around overriding a theme function with a .tpl file? I know how to override a .tpl file with a theme function but not the other way round. I can't seem to find anywhere that tells me so, so maybe it's not possible or not good practice.

For example if there was a theme function defined in a module called super_results and registered with the theme registry, like the example below, how would I go around overriding it with super_results开发者_Go百科.tpl.php.

'super_results' => array(
      'arguments' => array('title' => NULL, 'results' => NULL, 'votes' => NULL),
    ),

function modulename_super_results($title, $results,$votes){ output HTML }


The simplest solution would probably be creating a new theming function that uses a template. Something like that should work, disclaimer code is untested.

function my_theme_theme() {
  return array(
    'overide' => array(
      'template' => 'elm-super_results',
      'arguments' => array('title' => NULL, 'results' => NULL, 'votes' => NULL),
    ),
  );
}

function my_theme_super_results($title, $results, $votes) {
  return theme('overide', $title, $results, $votes);
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜