Tro*_*ser 2 php magento magento-1.4
如何使用我的付款模块向订单添加发票费用?我想这应该在结账过程中通过我的付款方式模型完成.也许我应该创建一个项目/产品并添加到购物车/报价/订单对象?
我不知道如何做这些事情.请帮忙
虽然可能不是为了佯装.以下是向总计区域添加一行的步骤的粗略细分,然后将您的费用添加到总计中.
在config节点中<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>
Run Code Online (Sandbox Code Playgroud)
另外在config.xml添加以下内容<global>...
<fieldsets>
<sales_convert_quote>
<payment_fee><to_order>*</to_order></payment_fee>
</sales_convert_quote>
</fieldsets>
Run Code Online (Sandbox Code Playgroud)
创建模型以计算费用.
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;
}
}
Run Code Online (Sandbox Code Playgroud)
在模块的设置中,修改sales_flat_quote和sales_flat_order表以添加payment_fee列.
<after>配置中的值负责确定计算顺序,它可以是以逗号分隔的总计代码列表,包括"税","折扣"等.您也可以<before>为相同目的指定值.该$address->addTotal在fetch()方法做总计,这是客户将被收取更新的工作.有必要更改报价单和订单表,以便记录您显示的费用并显示给管理员.
如果默认不执行,也可以指定自己的渲染器,我也这样做但是更复杂.
| 归档时间: |
|
| 查看次数: |
8204 次 |
| 最近记录: |