我定义了一个词汇表,里面有几个术语
设置了 多重选择,
在添加节点的时候,如何让,这个词汇表的术语,显示为多个CHECKBOX,而不是一个多选框呢?
参考解答:
Drupal默认好像就支持多选框吧,你可以定制一下,把多选框隐藏,自己定义一个Checkboxes.你可以参考一下这段代码,http://drupal.org/node/84286 ,改造为checkboxes的.
这里的代码是drupal4.7的,需要改造一下,根据Drupal6的表单API。总之,需要写模块的这里。
<?php
function test_form_alter($form_id, &$form) {
if (isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id) {
if (is_array($form['taxonomy'])) {
foreach ($form['taxonomy'] as $vid => $taxonomy) {
if (is_numeric($vid)) {
if ($taxonomy['#multiple']) {
$form['taxonomy'][$vid]['#type'] = 'checkboxes';
}
else {
$form['taxonomy'][$vid]['#type'] = 'radios';
$form['taxonomy'][$vid]['#default_value'] = $form['taxonomy'][$vid]['#default_value'][0];
}
unset(
$form['taxonomy'][$vid]['#theme']);
if ($form['taxonomy'][$vid]['#options'][0]) {
unset($form['taxonomy'][$vid]['#options'][0]);
}
else {
$form['taxonomy'][$vid]['#required'] = TRUE;
}
$form['taxonomy'][$vid]['#prefix'] = '<div class="taxonomy-form">';
$form['taxonomy'][$vid]['#suffix'] = '</div>';
}
}
}
}
}
?>