Mostrando label Complemento no checkout do Ubercart

Quem já implementou um Ecommerce em Drupal com Ubercart sabe na página de checkout tem um dos labels de endereço que não aparece (pelo menos até a versão 6.x-2.2 do Ubercart), isso acaba sendo chato porque pensamos que a solução seria apenas uma configuração, mas não é.

Para resolver esse pequeno problema abra o arquivo que está em ubercart/uc_cart/uc_cart_checkout_pane.inc e procure a função theme_address_pane (aqui está na linha 455).

Deixe a linha 461 como está a desse código:

/**
 * Theme the delivery/billing address forms in tables.
 *
 * @ingroup themeable
 * @see
 *   uc_checkout_pane_delivery()
 *   uc_checkout_pane_billing()
 */
function theme_address_pane($form) {
  $req = '<span class="form-required">*</span>';

  if (isset($form['copy_address'])) {
    $output = drupal_render($form['copy_address']);
  }

  $output .= '<div class="address-pane-table"><table>';

  foreach (element_children($form) as $field) {
    if (substr($field, 0, 9) == 'delivery_' || substr($field, 0, 8) == 'billing_') {
      $title = $form[$field]['#title'] .':';
      unset($form[$field]['#title']);
      if (substr($field, -7) == 'street1') {
        $title = uc_get_field_name('street') .':';
      }
      elseif (substr($field, -7) == 'street2') {
        $title = uc_get_field_name('street2') .':';
      }
      $output .= '<tr><td class="field-label">';
      if ($form[$field]['#required']) {
        $output .= $req;
      }
      $output .= $title .'</td><td>'. drupal_render($form[$field]) .'</td></tr>';
    }
  }
  $output .= '</table></div>';

  foreach (element_children($form) as $element) {
    $output .= drupal_render($form[$element]);
  }

  return $output;
}

Salva e é só ser feliz 😉

Agradecimentos ao Evandro-sl do Drupal-br.