function commerce_option_build_option_set_fields in Commerce Product Option 7.2
Helper function to attach the fields defined in an option set to the option.
2 calls to commerce_option_build_option_set_fields()
- commerce_option_form in ./
commerce_option.admin.inc - Commerce Option create/edit form
- commerce_option_get_option_set_fields in ./
commerce_option.admin.inc - Ajax callback that replaces the fields-part of the form with the fields defined in the Commerce Option Set (type).
File
- ./
commerce_option.admin.inc, line 79
Code
function commerce_option_build_option_set_fields(&$form, &$form_state, $op, $option) {
$subform = array(
'#prefix' => '<div id="commerce-option-fields">',
'#suffix' => '</div>',
);
// Get fields attached to this option.
$fields = field_info_instances('commerce_option', $option->set_id);
foreach ($fields as $key => $field) {
$info = field_info_field($key);
$langcode = field_language('commerce_option', $option, $key);
$items = array();
// Provide default value in case we're editing.
if ($op != 'add' && !empty($option->{$key}[$langcode])) {
$items = $option->{$key}[$langcode];
}
$subform[$key] = field_default_form('commerce_option', $option, $info, $field, $langcode, $items, $form, $form_state);
}
return $subform;
}