hook_form_alter で 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;
}
}
何が欠けているのか誰か教えてもらえますか?
編集: Henrik Opel (参加してくれてありがとう) への返信として、フォームの関連フィールドを印刷して、デフォルト フィールドへの変更をコメント アウトし、影響を与えようとしている '#default_value' フィールドを示します。
また、私が使用しているオプション ウィジェットが Hierarchical Select であることも示しています (これが要因でしょうか?)。上記のコードの 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)