function addressfield_phone_form_field_ui_field_edit_form_alter in Address Field Phone 7
Implements hook_form_FORM_ID_alter().
File
- ./
addressfield_phone.module, line 299 - Add additional phone fields to addressfield.
Code
function addressfield_phone_form_field_ui_field_edit_form_alter(&$form, $form_state, $form_id) {
// Do nothing in a locked field.
if (!isset($form['instance']) || !empty($form['#field']['locked'])) {
return;
}
if ($form['instance']['widget']['type']['#value'] == 'addressfield_standard') {
$entity_type = $form['instance']['entity_type']['#value'];
$field_name = $form['instance']['field_name']['#value'];
$bundle = $form['instance']['bundle']['#value'];
$field = field_info_instance($entity_type, $field_name, $bundle);
$settings = $field['widget']['settings'];
$form['instance']['widget']['settings']['phone_number_fields'] = array(
'#type' => 'fieldset',
'#title' => t('Available Phone Number Fields'),
'#description' => t('If no phone fields are selected, all phones fields will be available as optional.'),
'#states' => array(
'visible' => array(
// action to take.
':input[name="instance[widget][settings][format_handlers][phone]"]' => array(
'checked' => TRUE,
),
),
),
);
$field_options = array(
'' => t('Hidden'),
'optional' => t('Optional'),
'required' => t('Required'),
);
foreach (_addressfield_phone_number_options_list() as $number => $label) {
$value = '';
if (!empty($settings['phone_number_fields'][$number])) {
$value = $settings['phone_number_fields'][$number];
}
$form['instance']['widget']['settings']['phone_number_fields'][$number] = array(
'#type' => 'select',
'#title' => $label,
'#options' => $field_options,
'#default_value' => $value,
);
}
}
}