protected function UCXF_Pane::order_edit_form in Extra Fields Checkout Pane 6.2
View the editable form @access protected
Return value
array
1 call to UCXF_Pane::order_edit_form()
- UCXF_AddressPane::order_edit_form in class/
UCXF_AddressPane.class.php - View the editable form @access protected
1 method overrides UCXF_Pane::order_edit_form()
- UCXF_AddressPane::order_edit_form in class/
UCXF_AddressPane.class.php - View the editable form @access protected
File
- class/
UCXF_Pane.class.php, line 278 - Contains the UCXF_Pane class.
Class
- UCXF_Pane
- Base class for checkout panes and order panes implemented by Extra Fields Pane.
Code
protected function order_edit_form() {
$fields = $this
->loadFields();
$form['ucxf_' . $this->pane_id] = array(
'#type' => 'fieldset',
'#title' => t('Additional order information'),
'#collapsible' => FALSE,
'#collapsed' => FALSE,
'#tree' => TRUE,
);
// Dynamically generate form elements
if (count($fields)) {
foreach ($fields as $field) {
if ($field->enabled) {
$generated_field = $field
->generate();
$order_field_name = $this
->getFieldName($field);
$default = isset($this->order->{$order_field_name}) ? $this->order->{$order_field_name} : NULL;
if (!is_null($default) || !isset($generated_field['#default_value'])) {
$generated_field['#default_value'] = $default;
}
// On the order edit form, a generated field shouldn't be a hidden field.
// In this case the field will be set to a normal textfield, so it's editable.
if ($generated_field['#type'] == 'hidden') {
$generated_field['#type'] = 'textfield';
if (is_null($default)) {
// Set a default value if there is no saved value for.
$generated_field['#default_value'] = $generated_field['#value'];
}
// Unset value, field already has an default value
unset($generated_field['#value']);
// Set title and size of field.
$generated_field['#title'] = $field
->output('label');
$generated_field['#size'] = 32;
}
// In case of select fields, add default value as an option if it is not an available option yet.
if ($generated_field['#type'] == 'select') {
$default_value = $generated_field['#default_value'];
if ($default_value != '' && !isset($generated_field['#options'][$default_value])) {
$generated_field['#options'][$default_value] = t('Deleted option: @option', array(
'@option' => $default_value,
));
}
}
// Do not make any field required on the edit form
$generated_field['#required'] = FALSE;
// Add generated field to form
$form['ucxf_' . $this->pane_id][$order_field_name] = $generated_field;
}
}
}
return $form;
}