hook_theme没有被调用

时间:2011-10-11 12:42:14

标签: drupal-6

我有一个名为tf_decor的自定义模块。我从来没有看到调试语句,我不知道为什么。我已经尝试清除缓存(管理员/设置/性能),但它没有帮助。基本上我要做的就是在表格中放一张表。

function tf_decor_order_form($form_state)
{
  //form elements
}

function theme_tf_decor_order_form($form) { watchdog(WATCHDOG_DEBUG, "HERE 2"); //This is NOT being called }

function tf_decor_theme($existing, $type, $theme, $path) { watchdog(WATCHDOG_DEBUG, "HERE 1"); //This is being called return array( 'tf_decor_order_form' => array( 'arguments' => array('form' => NULL), ), ); }

1 个答案:

答案 0 :(得分:0)

对于Drupal 6我有同样的问题,通常的解决方案是清除缓存。但是这个解决方案并没有为我解决。

我为模块代码使用不同的文件。这些文件在我的.module文件中的hook_menu()中调用。在这些文件中,我使用了主题钩子函数'theme_tf_decor_order_form($ form)'。它没有被召唤。

解决方案是仅移动此函数:将theme_tf_decor_order_form($ form)函数移动到.module文件。清除了缓存并且它有效。