function fel_element_info_alter in Form element layout 7
Implements hook_element_info_alter().
File
- ./
fel.module, line 45 - Reorder #title, #description and #children in forms.
Code
function fel_element_info_alter(&$elements) {
// Replace all #theme_wrapper[] = 'form_element' with our custom form_element
// theme.
$form_element_wrappers = array(
// Core.
'textfield',
'machine_name',
'password',
'password_confirm',
'textarea',
'radio',
'checkbox',
'select',
'date',
'file',
'item',
'managed_file',
// Contrib.
'emailfield',
'hierarchical_select',
'interval',
'link_field',
'media',
'mfw_managed_file',
'numberfield',
'rangefield',
'searchfield',
'select_or_other',
'telfield',
'urlfield',
);
foreach ($form_element_wrappers as $type) {
if (!empty($elements[$type])) {
fel_wrapper_replace('form_element', 'fel_form_element', $elements[$type]);
}
}
// 'radios' and 'checkboxes' are special.
$elements['checkboxes']['#pre_render'][] = 'fel_element_pre_render';
$elements['radios']['#pre_render'][] = 'fel_element_pre_render';
// Fieldsets.
fel_wrapper_replace('fieldset', 'fel_fieldset', $elements['fieldset']);
// 'text_format': Replace #theme_wrapper with our own and reshuffle the title,
// description and element trio.
if (!empty($elements['text_format']) and module_exists('filter')) {
fel_wrapper_replace('text_format_wrapper', 'fel_text_format_wrapper', $elements['text_format']);
$elements['text_format']['#process'][] = 'fel_filter_process_format';
}
// Contrib: Taxonomy Term Reference Tree Widget.
if (!empty($elements['checkbox_tree'])) {
$elements['checkbox_tree']['#pre_render'][] = 'fel_element_pre_render';
}
// Contrib: Autocomplete Deluxe.
if (!empty($elements['autocomplete_deluxe'])) {
$elements['autocomplete_deluxe']['#pre_render'][] = 'fel_element_pre_render';
}
// Contrib: Select (or other).
if (!empty($elements['select_or_other'])) {
$elements['select_or_other']['#process'][] = 'fel_select_or_other_element_process';
}
}