function _uc_extra_fields_pane_weight_uc_store_address_fields_alter in Extra Fields Checkout Pane 6.2
_uc_extra_fields_pane_weight_uc_store_address_fields_alter() Adds option to order address fields by adding a weight field
_state @access private
Parameters
array $form:
Return value
void
See also
uc_extra_fields_pane_weight_uc_store_address_fields_submit()
theme_uc_extra_fields_pane_weight_uc_store_address_fields()
1 call to _uc_extra_fields_pane_weight_uc_store_address_fields_alter()
- uc_extra_fields_pane_form_alter in ./
uc_extra_fields_pane.module - Implementation of hook_form_alter().
File
- includes/
weights.inc, line 26 - These functions adds weight to the address fields, so it becomes possible to change the order of the address fields.
Code
function _uc_extra_fields_pane_weight_uc_store_address_fields_alter(&$form, $form_state) {
if (isset($form['uc_address_fields'])) {
// We're dealing with an Ubercart version dated July 18, 2012 or later.
// Some fields are structured differently.
$uc_version_20120718 = TRUE;
$form['uc_address_fields_weight']['#tree'] = TRUE;
}
else {
$uc_version_20120718 = FALSE;
}
// Get weight settings.
$weights = variable_get('uc_address_fields_weight', _uc_extra_fields_pane_getDefaultAddressFieldsWeights($form['fields']));
// Merge weight settings with default weight settings in case extra fields were added.
$weights = array_merge(_uc_extra_fields_pane_getDefaultAddressFieldsWeights($form['fields']), $weights);
foreach ($weights as $fieldname => $weight) {
if ($uc_version_20120718) {
$form['uc_address_fields_weight'][$fieldname] = array(
'#type' => 'weight',
'#delta' => 30,
'#default_value' => $weight,
'#attributes' => array(
'class' => 'uc-address-fields-table-ordering',
),
);
// Apply weight settings on fields.
$form['fields'][$fieldname]['#weight'] = $weight;
}
elseif (isset($form['fields'][$fieldname])) {
// Add weight fields.
$form['fields'][$fieldname]['weight'] = array(
'#type' => 'weight',
'#delta' => 30,
'#default_value' => $weight,
'#attributes' => array(
'class' => 'uc-address-fields-table-ordering',
),
);
// Apply weight settings on fields.
$form['fields'][$fieldname]['#weight'] = $weight;
// Add submit function in order to save the weight settings.
$form['#submit'][] = 'uc_extra_fields_pane_weight_uc_store_address_fields_submit';
}
}
}