Magento付款:additional_information或付款属性?

时间:2011-02-08 23:55:07

标签: php magento attributes magento-1.4

我想知道在magento(1.4.1.1)的付款中添加一些信息的更好方法。

假设我想添加一个名为“payment_duedate”的信息,该信息将是客户支付发票的日期。

实际上,sales_flat_order_payment中有一个名为“additional_information”的字段,其中包含方法setAdditionalInformation($ arg1,$ arg2)设置的序列化数据;可在“销售/付款”模式中使用。 所以我可以通过以下方式保存我的日期:

$payment->setAdditionalInformation('payment_duedate',$myDate);
$payment->save();

但是也可以选择添加付款属性,这样可以在'sales_flat_order_payment'中创建一个名为'payment_duedate'的新列,然后通过执行以下操作来保存我的日期:

$payment->setPaymentDuedate($myDate);
$payment->save();

主要区别是:

  • 使用“additional_information方法”,数据被序列化,因此不容易查询。
  • 使用“setPaymentDuedate()方法”,数据是可查询的,并且在表中创建了一个新字段

那么,在您看来,这两种方式中哪一种最好?

谢谢,Hugues。

2 个答案:

答案 0 :(得分:5)

setAdditionalInformation()对于只读属性最有用,例如向用户发送的消息,例如“Transaction Bank:MyBank”。

自定义setPaymentDuedate()对于处理后续工作非常有用,例如检查Duedate > MMDDYY的付款状态。

答案 1 :(得分:1)

我觉得这个问题是主观的。鉴于第二种方式不是更多的努力(见my experiences),很难选择其中任何一种。