首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Magento:获取礼品卡代码和金额

Magento:获取礼品卡代码和金额
EN

Stack Overflow用户
提问于 2012-06-28 07:39:25
回答 1查看 8.3K关注 0票数 2

我在检索订单上使用的礼品卡代码和金额时遇到了困难。例如,在Mage/Sales/Model/Order/Pdf/Abstract.php中,有一段代码可以处理销售/订单模型。即

代码语言:javascript
运行
复制
($order instanceof Mage_Sales_Model_Order) is true in the PDF example

代码语言:javascript
运行
复制
$order = Mage::getModel('sales/order')->load($orderID); in another example

在打印的发票PDF中,total部分显示使用的礼品卡以及使用的优惠券代码。优惠券代码可以通过$order->getCouponCode()获取。

如何从$order获取礼品卡代码和金额?我试过了

代码语言:javascript
运行
复制
$order->getGiftcertCode();
$order->getGiftcertAmount();

但是这些不会返回任何东西。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-28 11:07:26

可能有几种方法可以做到这一点,但我以前并没有这样做过,所以只要看看Magento数据库中的sales_flat_order表,我就可以看到有许多字段可以用来引用不同的礼品卡金额:

代码语言:javascript
运行
复制
base_gift_cards_amount
gift_cards_amount
base_gift_cards_invoiced
gift_cards_invoiced
base_gift_cards_refunded
gift_cards_refunded

可以通过以下调用来访问它们:

代码语言:javascript
运行
复制
$order->getBaseGiftCardsAmount();
$order->getGiftCardsAmount();
$order->getBaseGiftCardsInvoiced();
$order->getGiftCardsInvoiced();
$order->getBaseGiftCardsRefunded();
$order->getGiftCardsRefunded();

您想要使用的可能是$order->getGiftCardsAmount()

为了获得礼品卡的详细信息,它们以序列化数组的形式存储在上表的"gift_cards“列中。因此,要获取该数组,请调用

代码语言:javascript
运行
复制
$cards = unserialize($order->getGiftCards());

print_r $cards,你会看到类似这样的东西:

代码语言:javascript
运行
复制
Array
(
    [0] => Array
         (
             [i] => 1
             [c] => {{Gift Card Code}}
             [a] => {{Gift Card Amount}}
             [ba] => {{Gift Card Base Amount}}
         )

)

所以

代码语言:javascript
运行
复制
foreach ($cards as $card) {
    echo "Code: " . $card['c'] . "\n";
    echo "Amount: " . $card['a'] . "\n";
}

应该可以很好地工作。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11236263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档