帮我弄清楚,为什么不是我的形式得到的风格一拉网站/所有/模块/ 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