В Drupal 6 мы могли использовать PHP для установки значений по умолчанию, но тот же код не может быть использован с Drupal 7.
Я пытаюсь сделать это до конца hook_form_alter()
, но код не работает.
function my_form_alter(&$form, &$form_state, $form_id) {
dsm($form);
switch($form_id) {
case 'accounts_node_form':
$form["field_accounts"]["und"]['#default_value'] = $default;
// …
break;
}
}
$form["field_accounts"]["und"][0]["value"]['#default_value'] = $default;
LANGUAGE_NONE
следует использовать значение по умолчанию$form['#entity']->language
но мне придется проверить, чтобы его можно было использовать вместо константы. Извлечение кода будет использовать текущий язык , как определяется$language
глобальными, но есть методы API , чтобы помочь с этим в любом случае (field_get_items
или даже лучше ,EntityMetadataWrapper
выдаваемая модулем объекта)Это правильно:
источник
Это прекрасно работает:
источник