Drupal 如何在“构建后”中隐藏CCK节点引用输入小部件?

Drupal 如何在“构建后”中隐藏CCK节点引用输入小部件?,drupal,drupal-6,cck,drupal-fapi,Drupal,Drupal 6,Cck,Drupal Fapi,我喜欢简化节点形式。我过去的一个技巧是在创建新节点时有条件地隐藏CCK元素,当我想要强制某种默认值时。我最喜欢的诀窍之一是将模块放置到位的东西扫走。不幸的是,我最近转向了一种基于#after_build#的机制,这似乎在我如何操作小部件方面产生了各种冲突 这是我在hook\u form\u alter()中经常做的事情。: 但是,当我尝试在#构建后中玩这个游戏时,我遇到了隐藏类型的验证错误,或者节点引用(u autocomplete)验证错误。我已经求助于有条件地添加CSS文件。这让我很难过。隐

我喜欢简化节点形式。我过去的一个技巧是在创建新节点时有条件地隐藏CCK元素,当我想要强制某种默认值时。我最喜欢的诀窍之一是将模块放置到位的东西扫走。不幸的是,我最近转向了一种基于
#after_build
#的机制,这似乎在我如何操作小部件方面产生了各种冲突

这是我在
hook\u form\u alter()中经常做的事情。

但是,当我尝试在
#构建后
中玩这个游戏时,我遇到了
隐藏
类型的验证错误,或者
节点引用(u autocomplete)验证错误
。我已经求助于有条件地添加CSS文件。这让我很难过。

隐藏是不够的。试试这个:

$form['field\u my\u nodereference\u field'][0]['#type']='nodereference\u hidden'

当类型为CCK字段时,必须传递此格式\u hidden

例如,我使用了一个简单的文本字段

$form['field_srt'][0]['#type'] = 'text_hidden';
$form['field_myfile'][0]['#type'] = 'filefield_hidden';
或者对于我使用的文件字段

$form['field_srt'][0]['#type'] = 'text_hidden';
$form['field_myfile'][0]['#type'] = 'filefield_hidden';