- 11 Jul 2019, 12:03
#85324
Olá gostaria de adicionar dados vindos do custom_fields presente na tabela oc_address a página account/edit. Existem dois campos no address que gostaria de mostrar em account/edit, normalmente esta página apenas custom field vindo de oc_customer, mas como consigo capturar vindos de outra tabela. Já tentei usando esta linha:
E embora usando o get addresses que faz um select eu não consigo puxar os dados:
Código: Selecionar todos
e $data['addresses'] = $this->model_account_address->getAddresses();
if (isset($this->session->data['shipping_address']['postcode'])) {
$data['postcode'] = $this->session->data['shipping_address']['postcode'];
} else {
$data['postcode'] = '';
}
Código: Selecionar todos
if (isset($this->session->data['shipping_address']['custom_field'])) {
$data['shipping_address_custom_field'] = $this->session->data['shipping_address']['custom_field'];
} else {
$data['shipping_address_custom_field'] = array();
}
E embora usando o get addresses que faz um select eu não consigo puxar os dados:
Código: Selecionar todos
No que eu estou errando? Quem poder me ajudar eu agradeço. Obrigadopublic function getAddresses() {
$address_data = array();
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'");
foreach ($query->rows as $result) {
$country_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "country` WHERE country_id = '" . (int)$result['country_id'] . "'");
if ($country_query->num_rows) {
$country = $country_query->row['name'];
$iso_code_2 = $country_query->row['iso_code_2'];
$iso_code_3 = $country_query->row['iso_code_3'];
$address_format = $country_query->row['address_format'];
} else {
$country = '';
$iso_code_2 = '';
$iso_code_3 = '';
$address_format = '';
}
$zone_query = $this->db->query("SELECT * FROM `" . DB_PREFIX . "zone` WHERE zone_id = '" . (int)$result['zone_id'] . "'");
if ($zone_query->num_rows) {
$zone = $zone_query->row['name'];
$zone_code = $zone_query->row['code'];
} else {
$zone = '';
$zone_code = '';
}
$address_data[$result['address_id']] = array(
'address_id' => $result['address_id'],
'firstname' => $result['firstname'],
'lastname' => $result['lastname'],
'company' => $result['company'],
'address_1' => $result['address_1'],
'address_2' => $result['address_2'],
'postcode' => $result['postcode'],
'city' => $result['city'],
'zone_id' => $result['zone_id'],
'zone' => $zone,
'zone_code' => $zone_code,
'country_id' => $result['country_id'],
'country' => $country,
'iso_code_2' => $iso_code_2,
'iso_code_3' => $iso_code_3,
//'address_format' => $address_format,
'address_format' => '',
'custom_field' => json_decode($result['custom_field'], true)
);
}
return $address_data;
}