получить поле cck для form_alter - PullRequest
1 голос
/ 25 июля 2010

Я хотел бы получить поле cck "field_info" в моей форме, чтобы изменить его, чтобы вставить в другую таблицу, когда пользователь отправляет. Это не похоже на работу.

//mymodule_form_alter() implemented
       function mymodule_form_mysubmit{

            $test = $form['field_info']['#value'];
        //insert stuff code
    }

Есть ли ошибка в коде?

Ответы [ 2 ]

2 голосов
/ 25 июля 2010

Вы говорите, что module_form_alter() реализовано, но просто для подтверждения, вам нужно иметь в нем следующее:

$form['#submit'][] = 'mymodule_form_mysubmit';

Предполагается, что для получения значения field_info ваша функция отправки должна выглядетьнапример:

function mymodule_form_mysubmit($form, &$form_state) {
  $test = $form_state['values']['field_info'][0]['value'];
}

$form_state содержит текущее состояние отправляемой формы.CCK всегда предполагает, что для поля может быть несколько значений, поэтому он всегда помещает объекты в массив (следовательно, ['field_info'][0]).

0 голосов
/ 25 июля 2010

Я нашел решение

        $test = $form['field_info'][0]['#value'];
...