He creado un formulario en el administrador.
$form['things'] = array(
'#prefix' => '<div id="things">',
'#suffix' => '</div>',
'#tree' => TRUE,
'#theme' => 'table',
'#header' => array(t('Field Label'), t('Field Name'), t('Location'), t('Stuff')),
'#rows' => array(),
);
Luego agrego cada fila como:
foreach ($type_fields as $field_name => $attrs) {
$stuff = array(
'#type' => 'textfield',
'#default_value' => $attrs['stuff'],
);
$form['things']['#rows'][] = array(
array('data' => 'label'),
array('data' => $field_name),
array('data' => $field_name),
array('data' => $stuff),
);
}
¡La forma se ve genial! Pero el primer problema es que el valor asignado #default_valueno se muestra en el formulario. Cuando lo cambio al #valuevalor correcto, aparece. ¿Entonces me pregunto cómo se debe hacer esto? La documentación de Drupal dice #valueque no debe usarse con formularios, aunque funciona exactamente como esperaría que funcione.
El principal problema es cuando completo algunos datos de prueba en uno de los campos de texto y los envío: no veo ninguno de los valores enviados en mi _submitfunción.
Ni $formtampoco $form_statecontiene cualquiera de los valores ingresados I en los campos de texto.
Me pregunto si esto se debe a que estoy renderizando #theme => "table". ¿Alguien se ha encontrado con este problema? ¿Alguna idea sobre los cambios que pueda hacer que me permita ver los valores que estoy ingresando cuando publico el formulario en la _submitfunción?
