Jump to content

Edit History

Kaysof

Kaysof

Udało mi sie znaleźć odpowiedź i napiszę gdyby ktoś miał podobny problem:

najpierw dodałem metodę do nadpisania klasy Address.php w override/calsses

public static function getVatNumberByCustomerId($id_customer)
    {
        $query = new DbQuery();
        $query->select('vat_number');
        $query->from('address');
        $query->where('deleted = 0');
        $query->where('id_customer = '.(int)$id_customer);
        return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($query);
    }

Tutaj na podstawie numeru klienta pobieram chciane przeze mnie pole vat_number, możecie zamiast vat_number wpisać inną wartość.

Potem w AdminCustomerController korzystamy z tej metody:

$nip = Address::getVatNumberByCustomerId($obj->id);

Dopisujemy pole w fields_form:

array(
    'type' => 'text',
    'label' => $this->l('NIP'),
    'name' => 'nip',
    'col' => '4'
),

A potem wpisujemy wartość przy fields_value:

$this->fields_value = array(
   'years' => $this->getFieldValue($obj, 'birthday') ? $birthday[0] : 0,
  'months' => $this->getFieldValue($obj, 'birthday') ? $birthday[1] : 0,
  'days' => $this->getFieldValue($obj, 'birthday') ? $birthday[2] : 0,
  'nip' => $nip,
);

Voilà, wybrane pole z adresu wyświetla się w wynranym przez nas miejscu.

Dodam że to dla wersji 1.6 ;)

Kaysof

Kaysof

Udało mi sie znaleźć odpowiedź i napiszę gdyby ktoś miał podobny problem:

najpierw dodałem metodę do nadpisania klasy Address.php w override/calsses

public static function getVatNumberByCustomerId($id_customer)
    {
        $query = new DbQuery();
        $query->select('vat_number');
        $query->from('address');
        $query->where('deleted = 0');
        $query->where('id_customer = '.(int)$id_customer);
        return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($query);
    }

Tutaj na podstawie numeru klienta pobieram chciane przeze mnie pole vat_number, możecie zamiast vat_number wpisać inną wartość.

Potem w AdminCustomerController korzystamy z tej metody:

$nip = Address::getVatNumberByCustomerId($obj->id);

Dopisujemy pole w fields_form:

array(
    'type' => 'text',
    'label' => $this->l('NIP'),
    'name' => 'nip',
    'col' => '4'
),

A potem wpisujemy wartość przy fields_value:

$this->fields_value = array(
   'years' => $this->getFieldValue($obj, 'birthday') ? $birthday[0] : 0,
  'months' => $this->getFieldValue($obj, 'birthday') ? $birthday[1] : 0,
  'days' => $this->getFieldValue($obj, 'birthday') ? $birthday[2] : 0,
  'nip' => $nip,
);

Voilà, wybrane pole z adresu wyświetla się w wynranym przez nas miejscu.

×
×
  • Create New...