我知道我需要沿着hook_form_alter的路走下去,但这似乎并没有让我走得太远,最初:
hook_form_alter(&$form, &$form_state){
drupal_set_message($form['form_id']['#value']);
switch ($form['form_id']['#value']){
case 'partner_node_form':
$form['taxonomy'][1]['#required']=FALSE;
break;
}
}
DSM输出partner_node_form
,当我转到/ node / add / partner时,代码会触发,但是它不会使该字段成为可选字段,并且仍然会显示一个红色的星号。
如果我提交表单,则会失败,说明该字段是必填字段,但现在DSM会输出admin_block_theme_form
,这会阻止我的更改代码运行。
显然,我很失落,请帮忙!
答案 0 :(得分:2)
我知道有一个解决方案;)。我今天在处理别的事情时发现它。
安装content_taxonomy模块。执行此操作后,您将在所有内容类型中将分类作为CCK字段。因此,您可以将其设置为选定内容类型的可选项。您可以选择词汇表,而且可以像任何其他CCK字段一样使用它。
答案 1 :(得分:0)
define('MY_VOCABULARY', 1);
$form['taxonomy'][MY_VOCABULARY]['#required'] = 0;
它在drupal 6中工作正常。你使用什么drupal版本?