2
我在表格中有一个表格。我试图在其中一个表列中显示'select'表单元素,但它不显示;它不断在表格外呈现。但是,如果我将表单元素更改为“复选框”或“收音机”,它将显示没有问题。在表格中显示'select'元素
我呈现这样的:$output .= theme('table', $header, $rows);
其中$header
是一个数组为表标题和$rows
是阵列(表中的行)的阵列。
该行阵列构建这样的:
$row[] = drupal_render($form['fname'][$key]);
$row[] = drupal_render($form['lname'][$key]);
$row[] = drupal_render($form['days'][$key]);
$rows[] = $row;
我要的是最后一行(“天”)是一个选择框,而不是一个复选框,但是当我将其更改为选择,它被显示在桌子外面。
任何想法?
这是我的主题功能:
function theme_client_admin_nodes($form) {
$has_posts = isset($form['fname']) && is_array($form['fname']);
$header = array(t('First Name'), t('Last Name'), t('Packages'), t('Day'));
$output = '';
if ($has_posts) {
foreach (element_children($form['fname']) as $key) {
$row = array();
$row[] = drupal_render($form['fname'][$key]);
$row[] = drupal_render($form['lname'][$key]);
$row[] = drupal_render($form['packages'][$key]);
$row[] = drupal_render($form['days'][$key]);
// $row[] = drupal_render($form['nodes'][$key]);
$rows[] = $row;
}
}
else {
$rows[] = array(array('data' => t('No posts available...'), 'colspan' => '4'));
}
$output .= theme('table', $header, $rows);
if ($form['pager']['#value']) {
$output .= drupal_render($form['pager']);
}
$output .= drupal_render($form);
return $output;
}
确实需要查看窗体的模板 - 特别是表格本身。通常当表格弹出时表示一些标签没有正确关闭 – 2010-08-27 05:50:19
您可以发布一些标记吗?我不认为这个问题是Drupal特定的,但与HTML/CSS问题有关。 正如斯科特所说的HTML可能不正确。做一个html验证,看看它是否提及任何关于省略标签。 – Keyo 2010-08-27 05:52:36
只是一个更新:我没有弄清楚,但我找到了一个更好(更简单)的方式来实现我想要的。我只是每次更新一条记录。我试图模仿在这里找到的drupal节点列表表单:admin/content/node,但不仅仅是文本框,我想要drop drop ...感谢所有的评论。 – berto77 2010-09-07 20:35:01