幫我弄清楚,爲什麼不是我的形式得到的風格一拉網站/所有/模塊/ pecapture /主題/ pecapture-displayform.tpl.phpDrupal的模塊 - 表格中塊不應用模板
這裏的我的代碼:
/**
* Implementation of hook_theme()
*/
function pecapture_theme() {
$path = drupal_get_path('module', 'pecapture') . '/theme';
return array(
'pecapture_displayform' => array(
'arguments' => array('form' => NULL),
'template' => 'pecapture-displayform',
'path' => $path,
),
);
}
這基本上說,主題文件都在模塊/主題文件夾($ PATH)
有一個主題功能pecapture_displayform($形式= NULL),使用主題叫做('pecapture_displayform ',$ form)其中$ form是一個Drupal形式陣列
有在$路徑中的模板文件pecapture_displayform.tpl.php
function pecapture_block($op = 'list', $delta = 0, $edit = array()) {
$block = array();
if ($op == "list") { // Generate listing of blocks from this module, for the admin/block page
$block[0]["info"] = t('Persistent E-mail Capture Form Block');
}
else /* if ($op == 'view') */ { // Generate our block content
$block['subject'] = ''; //'Persistent E-mail Capture Form';
$block['content'] = pecapture_displayForm();
}
return $block;
} // function pecapture_block
此說,當你正在查看塊,使用功能pecapture_displayForm()來生成內容。 $塊獲取PHP打印()的
/**
* Callback for pecapture_theme
*/
function pecapture_displayform() {
return drupal_get_form('pecapture_blockform');
}
這是說返回HTML格式的Drupal的形式陣列(輸出)
function pecapture_blockform(&$form_state) {
/* the form, standard ... */
這是形式的內容,這是典型的。
我試着顯式調用主題功能pecapture_displayform:
return theme('pecapture_displayform', $form);
和
return theme('pecapture_displayform', drupal_get_form($form));
那麼,爲什麼不通過pecapture-displayform.tpl.php會的形式?
您是否清除緩存?或主題註冊表重建? – Nikit 2010-01-30 02:40:02