我可以用.tpl文件覆盖主题函数吗?

时间:2010-04-13 15:40:08

标签: drupal drupal-6

如何使用.tpl文件覆盖主题功能?我知道如何使用主题函数覆盖.tpl文件,但不是相反。我似乎无法找到告诉我的任何地方,所以也许这是不可能或不好的做法。

例如,如果在名为super_results的模块中定义了主题函数并在主题注册表中注册,如下例所示,我将如何使用super_results.tpl.php覆盖它。

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

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

1 个答案:

答案 0 :(得分:3)

最简单的解决方案可能是创建一个使用模板的新主题函数。这样的事情应该有效,免责声明代码未经测试。

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);
}