function uc_extra_fields_pane_uc_addresses_fields in Extra Fields Checkout Pane 7
Same name and namespace in other branches
- 6.2 uc_extra_fields_pane.module \uc_extra_fields_pane_uc_addresses_fields()
Implements hook_uc_addresses_fields().
Register all address fields used by Ubercart Addresses.
File
- ./
uc_extra_fields_pane.uc_addresses.inc, line 12 - Hook implementations for the Ubercart Addresses module.
Code
function uc_extra_fields_pane_uc_addresses_fields() {
try {
$data = array();
$fields = UCXF_FieldList::getAllAddressFields();
foreach ($fields as $field) {
$data[$field->db_name] = array(
'title' => $field
->output('label'),
'handler' => 'UcAddressesUCXFHandler',
'display_settings' => array(
'default' => TRUE,
'address_view' => $field
->may_display('uc_addresses'),
'checkout_review' => $field
->may_display('review'),
'order_view' => $field
->may_display('order'),
),
);
// Specify data type. Defaults to 'text'.
switch ($field->value_type) {
case UCXF_Field::UCXF_WIDGET_TYPE_CHECKBOX:
$data[$field->db_name]['type'] = 'boolean';
break;
default:
$data[$field->db_name]['type'] = 'text';
break;
}
// Entity API integration: specify option list for select
// fields.
switch ($field->value_type) {
case UCXF_Field::UCXF_WIDGET_TYPE_SELECT:
case UCXF_Field::UCXF_WIDGET_TYPE_PHP_SELECT:
$data[$field->db_name]['options list'] = 'uc_extra_fields_pane_option_list';
break;
}
}
return $data;
} catch (UCXF_Exception $e) {
$e
->printMessage();
$e
->logError();
}
}