Drupal:Taxonomy:为特定内容类型选择词汇表

Drupal:Taxonomy:为特定内容类型选择词汇表,drupal,forms,taxonomy,Drupal,Forms,Taxonomy,我知道我需要沿着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]['#requi

我知道我需要沿着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\u node\u表单
,当我转到/node/add/partner时,代码会触发,但是它没有使字段成为可选字段,并且仍然给它一个红色星号

如果我提交表单,它会失败,说明该字段是必需的,但现在DSM输出的是
admin\u block\u theme\u form
,这会阻止我的alter代码运行

显然,我迷路了,请帮帮我

define('MY_VOCABULARY', 1);

$form['taxonomy'][MY_VOCABULARY]['#required'] = 0;

它在drupal 6中运行良好。您使用的是什么drupal版本?

我知道有一个解决方案;)。今天我在做别的事情的时候发现的


安装模块。完成此操作后,您将在所有内容类型中将分类作为CCK字段。因此,可以对选定的内容类型将其设置为可选。您可以选择词汇表,而且您可以像使用任何其他CCK字段一样使用它

是的,我想我可能得走这条路。我已经在这个项目上使用了Hierarchy Select和Taxonomy Super Select,我不愿意再添加一个分类模块,但我会尝试一下,谢谢:)