我試圖爲hook_form_alter中的Content Taxonomy字段設置默認值,但無法確定必要的格式。我試過這個和很多變化:具有分層選擇部件的Drupal中的Content Taxonomy字段的默認值
foreach (element_children($form) as $child) {
// Set $default_value.
if ($form[$child]['tids']) {
// This, for Content Taxonomy fields, isn't working:
$form[$child]['tids']['#default_value'] = array('value' => $default_value);
dsm($form[$child]['tids']['#default_value']);
}
else {
// This, for other fields, is working:
$form[$child][0]['#default_value']['value'] = $default_value;
}
}
任何人都可以告訴我我失蹤了什麼嗎?
編輯: 針對亨裏克歐寶(感謝介入),這裏是打印出來與我的變更註釋掉默認字段的形式在相關領域,顯示了「#default_value」字段我試圖影響。
它也顯示我正在使用的選項小部件是分層選擇(這可能是一個因素?)。在上述代碼中的dsm()中,可以識別對默認值的更改,但以後不會處理它們。
field_name_of_content_taxonomy_field (Array, 3 elements)
#tree (Boolean) TRUE
#weight (String, 1 characters) 5
tids (Array, 7 elements)
#title (String, 10 characters) Vocabulary_name
#type (String, 19 characters) hierarchical_select
#weight (String, 1 characters) 5
#config (Array, 15 elements)
// 15 elements here
#required (String, 1 characters) 0
#description (String, 0 characters)
#default_value (Array, 0 elements)
感謝您的跟進。事實證明,文檔已經預料到我的困惑,我已經添加了一個答案,指出那裏的任何人。 – lazysoundsystem 2010-06-01 02:34:06