Как реализовать hook_theme в drupal 7?

Я создал новую тему drupal 7 и попытался реализовать hook_theme в template.php следующим образом:

function mytheme_theme($existing, $type, $theme, $path){ return array( 'mytheme_header'=>array( 'template'=>'header', 'path'=>$path.'/templates', 'type'=>'theme', ), ); } 

затем я поместил header.tpl.php в каталог шаблонов и очистил все кеши и вызвал функцию темы:

 theme('mytheme_header', $vars); 

и header.tpl.php это нравится:

 <?php fb('calling header template');//the function of FirePHP to output debug info print '<div>Header</div>'; //... 

Я проверяю Firebug, и он получает шаблон заголовка информации, он означает, что он вызвал header.tpl.php, но он не распечатывал html-код. Что случилось с моим кодом?

    Попробуйте добавить массив variables в hook_theme

     function mytheme_theme($existing, $type, $theme, $path){ return array( 'mytheme_header' => array( 'template' => 'header', 'path' => $path . '/templates', 'type' => 'theme', 'variables' => array( 'title' => NULL, 'some_text' => NULL, ), ), ); } 

    В файле header.tpl.php :

     <h1><?php print $title; ?></h1> <p><?php print $some_text; ?></p> 

    Затем распечатайте его следующим образом:

     $vars = array(); $vars['title'] = "This is a title"; $vars['some_text'] = "Some text..."; print theme('mytheme_header', $vars);