Люди, уже спрашивала, но не получила внятного ответа. Как установить значения в форме. Ставлю в форме '#value' => значение, оно появляется в форме, но при проверке друпал считает это поле пустым. '#default_value' => значение не отображается в форме. Уже больше недели мучаюсь и не могу найти решения, а надо срочно.
Комментарии
Странно. Обычно '#default_value' как раз отображается в форме.
А можно более конкретно, что не работает?
В том то и дело, что не отображается, может что не так делаю
в теме ссылка на шаблон
function mytheme_theme() {
return array(
'my_node_form' => array(
'arguments' => array('form' => NULL),
'template' => 'node-mynode-edit'
) );
в шаблоне
'#type' => 'textfield',
'#weight' => 3,
'#title' => t('E-mail'),
'#required' => 1,
'#size' => 30,
'#maxlength' => 64,
'#value' => "user->mail",
);
потом print drupal_render($form['field_my_node_mail']);
где задать значения непонятно
http://api.drupal.ru/api/file/developer/topics/forms_api_reference.html/6
да это понятно, но как в форму установить значение, чтобы в форме добавления были уже какие-то значения, которые выбираются из базы
Ну для начала неплохо бы объяснить, почему вы вообще таким адским способом форму создаете.
ну так это стандартный пример создания формы в друпал 6
по ссылке выше миллион примеров
<?php
$form['title'] = array(
'#type' => 'textfield',
'#title' => t('Subject'),
'#default_value' => $node->title,
'#size' => 60,
'#maxlength' => 128,
'#required' => TRUE,
);
?>
ну так они не работают, как в пустую форму установить значение. Или не отображаются или отображаются, но в обоих случаях друпал считает поля пустые
Атас.
А в этом стандартном примере drupal_get_form нигде не вызывается, да?
http://drupal.org/node/751826 - прочитайте от начала и до конца.
прочитала, но все равно непонятно
return drupal_get_form('test_form');
}
вызывается из меню, куда всунуть drupal_get_form, в шаблон или еще куда-нибудь
такое впечатление, что друпал не позволяет изменять поля после загрузки формы
Не, на тест-странице нормально. Просто не надо переопределять в шаблоне целиком элемент еще раз, надо указывать '#default_value' в функции test_form().
ну и в итоге, он не показывается. Может не понимаю, но в шаблоне в верстке вставляется print drupal_render. Может шаблон не так задается
Ну так уберите на время шаблон, выведите нетемизированную форму и посмотрите, чего там как. Сначала сделайте, чтобы необходимый функционал работал, а потом уже украшайте его в шаблонах.
вообщем, эта фтгня так и не заработала, видать cck где-то перехватывает обработку. Запихала все в свой модуль, у которого таких проблем нет. Жаль конечно, что пришлось извратиться, хотела без модуля обойтись