Php drupal 6表单模块未调用hook_主题

Php drupal 6表单模块未调用hook_主题,php,forms,drupal,drupal-6,Php,Forms,Drupal,Drupal 6,我试图通过对表单主题化来构建一个包含表单元素的表 我创建了一个包含9个元素的表单#type textfield:a1、a2、a3、b1、b2、b3、c1、c2、c3 我想使用theme_table($header,$row)将它们放入一个表中 为此,我创建了一个_theme(){}函数和另一个函数,该函数为表单创建$header和$rows,并使用drupal_render创建表单。只有当我在表单挂钩中返回$form时,表单才会呈现。但实际上我不想在那里渲染表单,但稍后在theme_模块中,我在

我试图通过对表单主题化来构建一个包含表单元素的表

我创建了一个包含9个元素的表单#type textfield:a1、a2、a3、b1、b2、b3、c1、c2、c3

我想使用theme_table($header,$row)将它们放入一个表中

为此,我创建了一个_theme(){}函数和另一个函数,该函数为表单创建$header和$rows,并使用drupal_render创建表单。只有当我在表单挂钩中返回$form时,表单才会呈现。但实际上我不想在那里渲染表单,但稍后在theme_模块中,我在drupal_渲染($form)。但这实际上不起作用

function name_menu() {
  $items['name/form'] = array(
    'title' => t('Name'),
    'page callback' => 'drupal_get_form',
    'page arguments' => array('name_form'),
    'access callback' => 'user_access',
    'type' => MENU_CALLBACK,    
  );
  return $items;
}

function name_theme() {
    return array('name_form' => array('arguments' => array('form' => NULL),),);
}

function theme_name_form($form){
    $output = '',
    $header = array(
        array('data' => t('Header1')),
        array('data' => t('Header2')),
        array('data' => t('Header3')),
    );
    $rows = array(
        array($form['a1'],$form['b1'],$form['c1']),
        array($form['a2'],$form['b2'],$form['c2']),
        array($form['a3'],$form['b3'],$form['c3']),
    );

     $form['items'] = array(
        '#type' => 'markup', '#value' => theme_table($header,$rows),
        );   
    $output .= drupal_render($form); //form rendered
}

function name_form(&$form_state) {    
 $form['a1'] = array('#type' => 'textfield');
 $form['a2'] = array('#type' => 'textfield');
 $form['a3'] = array('#type' => 'textfield');
 $form['b1'] = array('#type' => 'textfield');
 $form['b2'] = array('#type' => 'textfield');
 $form['b3'] = array('#type' => 'textfield');
 $form['c1'] = array('#type' => 'textfield');
 $form['c2'] = array('#type' => 'textfield');
 $form['c3'] = array('#type' => 'textfield');         


$form['#theme'] = 'theme_name_form';
}

尝试以下教程:



阅读:

查看此文件:

故障排除: -清除drupal缓存(管理»站点配置»性能) -重新呈现模块(管理»站点构建»模块)

基本流程:

function module_perm(){} //creates permissions
function module_menu(){} //creates menu
function module_form(){} //makes form elements
function module_theme(){} //register the theme function 
function theme_module(){} //build and return an output string using drupal_render()
function module_submit(){} //called by submit in form

我把所有的代码都放在这里,让有类似问题的人可以使用。这个教程很难理解