在表中创建Drupal表单

时间:2011-11-16 21:52:42

标签: drupal drupal-7 drupal-fapi

我尝试创建一个表格,其中行如下所示:

|Text1|Text2|Button1|

一旦用户点击按钮,我想用两个textFields和另一个按钮交换Button1 ......这是一个正常的AJAX请求。 我试图实现这一点,不确定这是否是正确的方法,让我知道我是否可以通过其他方式实现:S

所以我已经做过: 在我的hook_menu中,我链接到一个返回数据的函数:

return theme ( 'my_theme_function', array (
                    'running' => true, 
                    'form' => $database->getData ()
            ) );

getData()中发生了什么 - 功能: 我使用drupal_get_form(..)创建表单..从给定的表单返回是这样的:

$data = array (
                    'items' => $finder->getGamesToPlayForm ( $form_state ), 
                    '#title' => 'Title'
            );

$ finder返回我想在表格中显示的项目列表。所以没什么特别的。

my_theme_function设置为使用模板文件,我想展示整个内容。 这看起来像这样:

$header = array (
        'Col1', 
        'Col2', 
        '' 
);

$rows = array ();

foreach ( element_children ( $formData ['items'] ) as $gameId ) {
    $row = array ();
    $row [] = drupal_render ( $formData ['items'] [$gameId] ['#col1'] );
    $row [] = drupal_render ( $formData ['items'] [$gameId] ['#col2'] );
    $row [] = drupal_render ( $formData ['items'] [$gameId] ['#form'] );
    $rows [] = $row;
}
$output = theme ( 'table', array (
        'header' => $header, 
        'rows' => $rows 
) );

unset($formData['items']);


$output .= drupal_render_children ( $formData );

print $output
这样,一切都打印正确。但是没有“形式”标志,这会阻止我的形式工作..

那么,任何想法/提示如何解决这类问题?可能我的方式完全错了..

1 个答案:

答案 0 :(得分:0)

'render element' => 'form'
你主题中的