[решено] передача значения переменной в форму
Пытаюсь разобраться с примером модуля аннотации.
Суть в том, что в hook_nodeapi (annotate_nodeapi) к уже сущестующему контенту добавляет форму для ввода пользователем текста аннотации.
Далее текст аннотации сохраняется в БД (по нажатию submit).
1. добавление формы в примере происходит так:
'#value' => drupal_get_form('annotate_entry_form', $node),
'#weight' => 10
);
однако, в API функция drupal_get_form описанна только с одним аргументом: drupal_get_form($form_id).
вопрос: что означает такая странная запись: drupal_get_form('annotate_entry_form', $node)?
2. подозреваю, что таким способом передавалось значение переменной $node в функцию-конструктор формы annotate_entry_form. Но таким способом это не передается (в функции "переданная" переменная - пустая).
вот сама функция:
// определить fieldset
$form['annotate'] = array(
'#type' => 'fieldset',
'#title' => t('Annotations')
);
// определить textarea внутри fieldset
$form['annotate']['note'] = array(
'#type' => 'textarea',
'#title' => t('Notes'),
'#default_value' => isset($node->annotation) ? $node->annotation : '',
'#description' => t('Make your annotations about THIS!')
);
// сохранить id ноды (для удобства)
$form['annotate']['nid'] = array(
'#type' => 'value',
'#value' => $node->nid
);
// определить функцию submit
$form['annotate']['submit'] = array(
'#type' => 'submit',
'#value' => t('Написать!')
);