Anda akan menemukan kode yang berhubungan dengan ini di kelas Mage_Sales_Model_Order_Creditmemo_Total_Tax
.
Baris kode $part = $creditmemo->getShippingAmount()/$orderShippingAmount;
(terletak di baris 116) dengan jelas menunjukkan bahwa kode ini dikodekan khusus untuk hanya menghitung pajak sesuai dengan bidang shippingAmount dari formulir creditMemo.
Perubahan yang jelas adalah menyesuaikan kode itu untuk juga menggunakan bidang "Adjustment refund".
Anda tidak dapat benar-benar menulis ulang kelas ini, karena cara magento membuat instance sebagai bagian dari subsistem kolektor total, dalam perhitungan creditmemo.
Namun Anda dapat menyesuaikan kolektor untuk menggunakan versi kelas Anda sendiri, sehingga semuanya tidak hilang.
Jadi, dalam modul Anda sendiri, Anda akan menempatkan kode berikut di config.xml. Itu masuk ke dalam <global>
elemen
<global>
<sales>
<order_creditmemo>
<totals>
<tax>
<class>NAMESPACE_MODULE/order_creditmemo_total_tax</class>
<after>subtotal</after>
</tax>
</totals>
</order_creditmemo>
</sales>
<global>
Sekarang Anda akan membuat file kelas NAMESPACE/MODULE/Model/Order/Creditmemo/Total/Tax
, yang memperpanjang file inti.
class NAMESPACE_MODULE_Model_Order_Creditmemo_Total_Tax extends Mage_Sales_Model_Order_Creditmemo_Total_Tax
Anda perlu menyalin seluruh metode `kumpulkan 'dari kelas inti ke file baru Anda.
Tambahkan kode berikut di baris 114 (tepat setelah kode $shippingDelta = $baseOrderShippingAmount - $baseOrderShippingRefundedAmount
)
/** adjust to also calculate tax on the adjustment value **/
$adjustment = ($creditmemo->getAdjustment() > 0)?$creditmemo->getAdjustment():$creditmemo->getShippingAmount();
if($creditmemo->getAdjustment() > 0 && $creditmemo->getShippingAmount() > 0) {
$adjustment = $creditmemo->getAdjustment() + $creditmemo->getShippingAmount();
}
/** end adjustment **/
dan sesuaikan garis 116 dari $part = $creditmemo->getShippingAmount()/$orderShippingAmount;
ke$part = $adjustment/$orderShippingAmount;
Ini kemudian akan secara efektif menggunakan Jumlah Pengiriman atau Jumlah Penyesuaian dalam perhitungan.