Drupal:Taxonomy:为特定的内容类型提供词汇表可选

时间:2011-04-08 08:41:31

标签: 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]['#required']=FALSE;
       break;
  }
}

DSM输出partner_node_form,当我转到/ node / add / partner时,代码会触发,但是它不会使该字段成为可选字段,并且仍然会显示一个红色的星号。

如果我提交表单,则会失败,说明该字段是必填字段,但现在DSM会输出admin_block_theme_form,这会阻止我的更改代码运行。

显然,我很失落,请帮忙!

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

define('MY_VOCABULARY', 1);

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

它在drupal 6中工作正常。你使用什么drupal版本?