Saya mencoba memeriksa apakah alamat penagihan dan pengiriman sama ketika membuat PDF faktur.
Apa yang saya coba sejauh ini adalah:
$order = $invoice->getOrder();
if( $order->getBillingAddress()->getData() != $order->getShippingAddress()->getData() )
atau
$order = $invoice->getOrder();
if( $order->getShippingAddress()->getData('same_as_billing')!='1' )
tapi tidak ada yang berhasil. Saya juga mencoba untuk mendapatkan penawaran dengan menggunakan $order->getQuote()
tetapi itu tidak berhasil.
Apakah ada cara untuk memeriksa apakah penagihan dan alamat pengiriman sama?
array_diff_assoc
karena array_diff hanya membandingkan nilai, jadi jika Anda misalnya mengganti nama depan dan nama belakang, alamat akan tetap diperlakukan samaMeskipun sudah ada jawaban yang diterima, saya ingin membagikan solusi ini yang saya lihat (serupa) satu kali dalam modul pihak ke-3:
Yang kemudian disebut:
sumber
Oke, jadi inilah upaya saya mengikuti saran ProxiBlue:
Pada dasarnya saya menghapus beberapa kunci dengan menggunakan
$excludeKeys
array, jadi hanyaarray_diff
akan membandingkan data yang relevan. Untuk menghapus beberapa kunci tanpa harus membuat lingkaran, saya menggunakanarray_diff_key
dalam kombinasi denganarray_flip
untuk menyingkirkan kunci array yang tidak perlu.Perbaikan dan umpan balik diterima. :)
sumber
array_diff_assoc
karena array_diff hanya membandingkan nilai, jadi jika Anda misalnya mengganti nama depan dan nama belakang, alamat akan tetap diperlakukan sama.Anda perlu menggunakan penawaran
Kemudian Anda bisa mendapatkan alamat pengiriman dari kutipan dan memeriksa apakah itu ditandai sama dengan alamat penagihan:
sumber
harus membandingkan alamat - salah satunya baru saja dibuat (tidak disimpan). Mungkin itu membantu seseorang:
berdasarkan jawaban @Alphawolf:
EDIT 20 01 2016
Saya menggunakan metode berikut karena saya memposting versi di atas dan itu bekerja untuk saya - saya pikir itu dapat membantu seseorang:
sumber