function theme_uc_extra_fields_pane_uc_store_address_fields in Extra Fields Checkout Pane 6.2
This function overrides the theme function theme_uc_store_address_fields_form() in uc_store.module Adds tabledrag, the column 'weight' and the column 'action'.
Parameters
array $form:
Return value
string
File
- ./
uc_extra_fields_pane.admin.inc, line 246 - Admin functions for adding, editing and deleting fields
Code
function theme_uc_extra_fields_pane_uc_store_address_fields($form) {
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;
}
else {
$uc_version_20120718 = FALSE;
}
$title = t('Title');
if (function_exists('i18n_variable_form_submit') && $uc_version_20120718) {
$title .= ' - ' . t('This is a multilingual variable.');
}
$header = array(
t('Enabled'),
t('Field'),
$title,
t('Required'),
array(
'data' => t('List position'),
'sort' => 'asc',
),
t('Action'),
);
foreach (element_children($form['fields']) as $field) {
if ($uc_version_20120718) {
$row = array(
array(
'data' => drupal_render($form['uc_address_fields'][$field]),
'align' => 'center',
),
drupal_render($form['fields'][$field]['default']),
drupal_render($form['fields'][$field]['uc_field_' . $field]),
drupal_render($form['uc_address_fields_required'][$field]),
drupal_render($form['uc_address_fields_weight'][$field]),
);
}
else {
$row = array(
array(
'data' => drupal_render($form['fields'][$field]['enabled']),
'align' => 'center',
),
drupal_render($form['fields'][$field]['default']),
drupal_render($form['fields'][$field]['title']),
drupal_render($form['fields'][$field]['required']),
drupal_render($form['fields'][$field]['weight']),
);
}
// Add Edit/Delete link to fields that are editable.
if (isset($form['fields'][$field]['action'])) {
$row[] = drupal_render($form['fields'][$field]['action']);
}
else {
$row[] = '';
}
$rows[$field] = array(
'data' => $row,
'class' => 'draggable',
'#weight' => $form['fields'][$field]['#weight'],
);
}
// Sort rows by weight.
uasort($rows, 'element_sort');
drupal_add_tabledrag('uc-address-fields-table', 'order', 'sibling', 'uc-address-fields-table-ordering');
$output = drupal_render($form['add_field']);
$output .= theme('table', $header, $rows, array(
'id' => 'uc-address-fields-table',
));
$output .= drupal_render($form['add_field2']);
$output .= drupal_render($form);
return $output;
}