function composed_field_field_widget_form in Composed Field 7
Implements hook_field_widget_form().
File
- ./
composed_field.module, line 194 - Defines composed field type.
Code
function composed_field_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) {
$settings = $instance['widget']['settings'];
$number_of_subfields = isset($settings['number_of_subfields']) ? $settings['number_of_subfields'] : 1;
$element['composed']['#theme_wrappers'] = array(
'form_element',
);
$default_value = isset($items[$delta]['composed']) ? $items[$delta]['composed'] : array();
// Create as many form elements in each tab as there are subfields.
for ($subfield = 1; $subfield <= $number_of_subfields; $subfield++) {
$element['composed'][$subfield] = _composed_field_build_subfield_element($settings, $subfield, $default_value);
}
if (isset($settings['inline']) && $settings['inline']) {
$prefix = isset($element['composed'][1]['#prefix']) ? $element['composed'][1]['#prefix'] : '';
$suffix = isset($element['composed'][$number_of_subfields]['#suffix']) ? $element['composed'][$number_of_subfields]['#suffix'] : '';
$element['composed'][1]['#prefix'] = '<div class="container-inline">' . $prefix;
$element['composed'][$number_of_subfields]['#suffix'] = $suffix . '</div>';
}
return $element;
}