How can programmatically find Extra Felds data in orders?

With:

$order = uc_order_load('74');
dpm($order);
$order->uc_addresses['shipping'];

i get:
uc_addresses (Array, 2 elements)
shipping (Object) UcAddressesAddress
address_type (String, 8 characters ) shipping
ucxf_pane_type (String, 14 characters ) extra_delivery

Comments

megachriz’s picture

Title: Find the order data » Programmatically find extra address field values inside order
Status: Active » Fixed

The UcAddressesAddress class has the following methods to get address field data:

  • getField() for getting a single address field value, unsanitized.
  • getFieldValue() for getting a single address field value, sanitized.
  • getRawFieldData() for getting all address fields values, unsanitized.
  • getFieldData() for getting all address fields values, sanitized.

Thus, for example:

$order = uc_order_load('74');
$shipping_gender = $order->uc_addresses['shipping']->getField('ucxf_gender');

See also the documentation:
https://www.drupal.org/node/1340688#uc-addresses-setting-getting

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.