Массив полей для формы. Как назвать, что бы получить массив?

Прислано: mastak

вт, 09/02/2010 - 08:25

На сервере формирую динамическую форму, количество полей не постоянно. Что бы правильно обработать, пытался создать имена для полей типа

$form['ecart']['ecart_element_price['.$node->nid.']']

что бы потом в обработчике просто пройтись по массиву ecart_element_price
Но при валидации Друпал имеет вот такой $form_state['values'] :

  [values] => Array
        (
            [ecart_element_count[1]] => 
            [ecart_element_count[2]] =>
            ...
        } 
 

работает на как с массивом...
Как именовать поля, что б и друпал понимал, и обработать потом можно, не зная сколько получим полей?

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано RxB в вт, 09/02/2010 - 08:36.

Гражданин, мы все API уже читали, чего и вам советуем:
Свойство '#tree'


Опубликовано mastak в вт, 09/02/2010 - 09:01.

#tree = false:

  [values] => Array
        (
            [ecart_element_count[1]] => 
            [ecart_element_count[2]] =>
            ...
        } 

#tree = true:

  [values] => Array
        (
          [ecart] => Array
                (
                            [ecart_element_count[1]]] =>                                    
                            [ecart_element_count[2]]] =>                         
            ...
        } 

Уважаемый, я читал АПИ тоже и мне не нужен сглаженый\несглаженый. Друпал даже не формирует его. Мне надо что б в результате было:
#tree = false:

  [values] => Array
        (
            [ecart_element_count] => array(
               [1] =>
               [2] => 
            )
            ...
        } 

PS может меня не правильно поняли, или я...


Опубликовано olk в вт, 09/02/2010 - 09:06.

<?php
$form
['ecart_element_price'][$node->nid] = $value
$form
['#tree'] => TRUE

?>


Новое на сайте