Могу ли я переопределить функцию темы с помощью файла .tpl? - PullRequest
2 голосов
/ 13 апреля 2010

Как мне переопределить функцию темы с файлом .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 Ответ

3 голосов
/ 13 апреля 2010

Самым простым решением, вероятно, было бы создание новой функции создания тем, использующей шаблон.Что-то подобное должно работать, отказ от ответственности код не проверен.

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