Я изучаю drupal, работаю над модулем, который создает пользовательский тип контента. Все отлично работает Я могу добавлять и обновлять пользовательские узлы. Единственное, что не работает, это то, что когда я редактирую узел, #default_value для 2-х пользовательских полей не отображается. Вот моя форма hook_form:
function mymodule_form(&$node, $form_state) {
$type = node_get_types('type', $node);
$form['title'] = array(
'#type' => 'textfield',
'#title' => check_plain($type->title_label),
'#required' => TRUE,
'#default_value' => $node->title,
'#weight' => -5,
);
$form['body'] = array(
'#type' => 'textarea',
'#title' => check_plain($type->body_label),
'#rows' => 20,
'#default_value' => $node->body,
'#required' => TRUE,
);
$form['other'] = array(
'#type' => 'textfield',
'#title' => t('Other thingy'),
'#default_value' => $node->other,
);
if ($node->type == 'chucky') {
$form['other2'] = array(
'#type' => 'textfield',
'#title' => t('Other thingy 2'),
'#default_value' => $node->other2,
);
}
return $form;
}
Таким образом, 2 настраиваемых поля - это другие и другие2, эти столбцы находятся в таблице mymodule, и я могу добавлять и обновлять их значения. Но они не отображаются повторно в качестве значений по умолчанию в форме редактирования.