如何使用我的付款模塊向訂單添加發票費用?我想這應該通過我的付款方式模型在結帳過程中完成。也許我應該創建並添加一個項目/產品到購物車/報價/訂單對象?Magento - 如何在結帳過程中向訂單添加發票費
雖然我不知道如何做這些事情。請幫助
如何使用我的付款模塊向訂單添加發票費用?我想這應該通過我的付款方式模型在結帳過程中完成。也許我應該創建並添加一個項目/產品到購物車/報價/訂單對象?Magento - 如何在結帳過程中向訂單添加發票費
雖然我不知道如何做這些事情。請幫助
雖然可能,但它不是爲懦夫。這裏粗略地列出了在總計區域添加一行的步驟,然後這些步驟會將您的費用添加到總計。
在配置節點<global><sales><quote><total>
添加新條目(見app/code/core/Mage/Sales/etc/config.xml
更多的例子)
<paymentFee>
<class>yourmodule/quote_address_total_paymentFee</class> <!-- A model -->
<after>subtotal</after>
</paymentFee>
另外在3210以下內容添加到<global>
...
<fieldsets>
<sales_convert_quote>
<payment_fee><to_order>*</to_order></payment_fee>
</sales_convert_quote>
</fieldsets>
創建模型計算費用。
class Your_Module_Model_Quote_Address_Total_Warranty extends Mage_Sales_Model_Quote_Address_Total_Abstract
{
public function __construct()
{
$this->setCode('paymentFee');
}
public function collect(Mage_Sales_Model_Quote_Address $address)
{
// Check the payment method in use, if it is yours do...
$address->setPaymentFee($fee);
return $this;
}
public function fetch(Mage_Sales_Model_Quote_Address $address)
{
if ($address->getPaymentFee()) {
$address->addTotal(array(
'code' => $this->getCode(),
'title' => 'Your module payment message',
'value' => $address->getPaymentFee()
));
}
return $this;
}
}
在你的模塊的安裝,修改和sales_flat_quote
表sales_flat_order
向add a payment_fee column。
<after>
配置中的<after>
值負責確定計算順序,它可以是包含「稅收」,「折扣」等的總計代碼的逗號分隔列表。您還可以指定<before>
值相同的目的。 $address->addTotal
,fetch()
方法將完成更新總計的工作,這是客戶將收取的費用。有必要更改報價單和訂單表,以便記錄您收取的費用並向管理員顯示。
也可以指定你自己的渲染器,如果默認不行,我也這樣做了,但更加複雜。
如果您之前沒有使用過Magento的代碼庫,我不會建議您從此開始,這相當複雜。使用擴展名可能是最安全的選擇。
我還沒有使用它,但我相信這extension應該做的工作。
標準免責聲明:我不以任何方式隸屬於供應商。 注意空虛。
使用另一個擴展不是一個選項。 – 2010-12-22 09:49:44
不錯的一段代碼...我會建議你遵循伊萬的建議(這裏:http://stackoverflow.com/questions/4378394/magento-adding-a-new-column-to-sales-flat-quote-item -and-sales-flat-order-item/4378681#4378681)以非SQL方式修改'sales_flat'表。 – 2010-12-23 04:16:18
我不得不多次添加總計行數,所以要記錄方法。 – clockworkgeek 2010-12-23 10:03:01
沒問題,我只是建議它爲未來的讀者的答案:) – 2010-12-24 03:05:22