2012-02-06 96 views
1

我已经创建了新的付款方式(网关)。在这个网关我发送信息到银行的信用付款,我使用一些额外的支付选项,如名称/人年龄/人利润/信贷期限/ ...Magento付款信息块

通过此字段我计算信用期限并发送所有这些数据去银行。

我想在付款方式信息块(默认主题的右侧栏)中显示此信息,但我不希望将此字段保存到数据库(所以在管理员区域后面我会有像它是标准支票/汇票付款和只是付款方式的名称将是另一个)

我无法在付款方式信息块中显示此字段,因为它只显示存储在数据库中的字段,只有我发现的方式 - 将此数据存储在核心/会话,然后在信息块检索此数据回

我在付款模式中做这样的事情:

class OS_LacPayCS_Model_Payment extends Mage_Payment_Model_Method_Abstract 
{ 
... 
public function assignData($data) 
{ 
    parent::assignData($data); 
    $session = Mage::getSingleton('core/session'); 
    $session->setData('payment_additional', $data); 
    return $this; 
} 
... 
} 

,然后得到它

class OS_LacPayCS_Block_Payment_Info extends Mage_Payment_Block_Info 
{ 
... 
public function getPaymentInfo() 
{ 
    $session = Mage::getSingleton('core/session'); 
    return $session->getData('payment_additional'); 
} 
... 
} 

是否有另一种方式来获得这些数据?

而且我希望在结帐时在订单审阅选项卡中添加一些额外的行,如何添加它们而不用重写审阅模板和块?

感谢名单

回答

2

Magento的支付API定义保存为序列化数组DB additional_information的领域,而且可以用于存储数据时,你可能需要显示。你可以通过assignData($ data)方法设置数据到那里