我已經爲Drupal 7創建了一個模塊,該模塊有一個hook_theme函數,它告訴它使用usertemp.tpl.php模板。我將模板放置在模塊文件夾以及主題文件夾中。問題是該函數僅從模塊文件夾中拾取模板,而不是從主題文件夾拾取模板。我已經清除了緩存並查找了以前的答案,但沒有任何幫助。可能是什麼問題呢?如何使Drupal 7模塊在主題文件夾中使用.tpl.php模板
我對hook_theme代碼如下所示:
function usuar_theme() {
return array(
'usuarbuild' => array(
'variables' => array('profilesloaded' => array()),
'template' => 'usertemp',
),
);
}
模塊代碼的其餘部分是這樣的:
function usuar_menu() {
$items['userx'] = array(
'title' => 'User page',
'description' => 'User page',
'page callback' => 'usuar_exe',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
function usuar_exe($id) {
$ar = array('uid' => $id, 'profilesloaded' => profile2_load_by_user($id));
return theme('usuarbuild', array('collected' => $ar));
}
function theme_usuarbuild($variables) {
return $variables['collected'];
}
對我來說看起來不錯,你可以包含你用來調用模塊中模板的代碼嗎? – hross 2011-06-05 16:49:22
我以爲這是用來調用模板的代碼,不是嗎?你的意思是自定義主題功能和頁面回調? – 2011-06-05 16:59:20
我已經編輯了我的主要帖子,其餘的模塊代碼。謝謝您的幫助!! – 2011-06-05 17:05:02