我真的不明白为什么这不起作用。我想避免折叠特定的表单项。
这是我要修改的元素(使用下面的代码更改后):
[taxonomy] => Array
(
[tags] => Array
(
[1] => Array
(
[#type] => textfield
[#title] => Tags
[#description] => A comma-separated list of terms describing this content. Example: funny, bungee jumping, "Company, Inc.".
[#required] => 0
[#default_value] =>
[#autocomplete_path] => taxonomy/autocomplete/1
[#weight] => 0
[#maxlength] => 1024
[#collapsed] => 0
[#collapsible] => 0
)
[#collapsed] => 0
[#collapsible] => 0
)
[#weight] => -3
[#tree] => 1
[#collapsed] => 0
[#collapsible] => 0
这是我在hook_form_alter中的代码(我确定表单是由代码修改的):
$form['taxonomy']['#collapsed'] = 0;
$form['taxonomy']['tags']['#collapsed'] = 0;
$form['taxonomy']['tags'][2]['#collapsed'] = 0;
$form['taxonomy']['#collapsible'] = 0;
$form['taxonomy']['tags']['#collapsible'] = 0;
$form['taxonomy']['tags'][3]['#collapsible'] = 0;
但它不起作用。该元素始终处于折叠状态。我刷新了所有的缓存
http://dl.dropbox.com/u/72686/tagsform.txt
Update2 :
$form['taxonomy']['#required'] = TRUE;
$form['taxonomy']['tags']['#required'] = TRUE;
$form['taxonomy']['tags'][5]['#required'] = TRUE;
答案 0 :(得分:0)
应该有一些theme_或pre_process_函数改变输出的打印方式,我看不到$ form array中textfield下的复选框... 这些复选框的位置可能来自字段集。
答案 1 :(得分:0)
从您发布的数组中,看起来您尝试在分类模块实际将其转换为字段集之前调整表单元素(请注意,该数组中没有'#type' => 'fieldset'
声明)。如果您查看taxonomy_form_alter()
,您可以看到它在hook_form_alter()
实现中,节点中的分类数组被“转换”为实际的表单API元素。
所以我的猜测是你的调整驻留在一个hook_form_alter()
实现中,该实现在分类模块之前运行,这样你的崩溃状态的声明会被分类模块立即覆盖你设置它们。
尝试adjust your modules weight高于分类模块的内容,看看这是否会改变一切。 (请注意,更改重量可能会影响模块执行的其他操作,因此请在完成后仔细测试!)