Magento Enterprise:以编程方式创建礼品卡?

时间:2014-07-14 01:20:56

标签: php magento magento-1.9

使用Magento EE 1.9,我想以编程方式创建一堆礼品卡(或Magento称之为“礼品卡帐户”)。 SOAP API的文档有a method for doing this,但我想在一个模块中完成,即只使用PHP。

基本上,如果我上传礼品代码和金额列表,我希望Magento为这些创建可用的礼品卡帐户。例如:

VOUCH123 = $100
VOUCH456 = $120
VOUCH789 = $150

我可以为每张礼券创建一次性优惠券代码,但我认为这不是一个优雅的解决方案。我宁愿实际创建适当的礼品卡帐户,但我认为这不会记录在任何地方。

帮助!

1 个答案:

答案 0 :(得分:2)

编辑:我以前的SOAP衍生方法似乎没有办法输入自定义代码。这个新代码确实如此。

$gift_card = Mage::getModel('enterprise_giftcardaccount/giftcardaccount');

$gift_card
    ->setCode('2i2j2j-24k1ii1-67774k-231l')
    ->setStatus($gift_card::STATUS_ENABLED)
    ->setDateExpires('2015-04-15')
    ->setWebsiteId(1)
    ->setState($gift_card::STATE_AVAILABLE)
    ->setIsRedeemable($gift_card::REDEEMABLE)
    ->setBalance(25);

$gift_card->save();

我知道我迟到了一年,但这可能会对将来有所帮助。这是Magento EE 1.14(以及根据文档的过去版本)的最新版本

您的问题的更完整的工作示例将是

$cards = array(
'VOUCH123' => 100,
'VOUCH456' => 120,
'VOUCH789' => 150);

foreach($cards as $code=>$balance)
{
    $gift_card = Mage::getModel('enterprise_giftcardaccount/giftcardaccount');

    $gift_card
        ->setCode($code)
        ->setStatus($gift_card::STATUS_ENABLED)
        ->setWebsiteId(1)
        ->setState($gift_card::STATE_AVAILABLE)
        ->setIsRedeemable($gift_card::REDEEMABLE)
        ->setBalance($balance);

    $gift_card->save();
}