首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将getSku()更改为其他字段

问将getSku()更改为其他字段
EN

Stack Overflow用户
提问于 2016-07-05 15:24:03
回答 2查看 111关注 0票数 1

所以我试图修改一个插件,以满足我对Magento的需求。

我有以下代码:

代码语言:javascript
复制
<?php foreach($_order->getAllVisibleItems() as $_item): ?>
    <?php if($_item->getParentItem()) continue; ?>
    sa('ecommerce', 'addItem', JSON.stringify({
        'order_id': '<?php echo $_order->getData($this->getTransactionIdField()) ?>',
        'product_id': '<?php echo $_item->getSku() ?>',
        'name': '<?php echo str_replace('\'','', $_item->getName()) ?>',
        'price': '<?php echo number_format($_item->getPriceInclTax(), 2) ?>',
        'quantity': '<?php echo (int) $_item->getQtyOrdered() ?>'
    }));
    <?php endforeach;?>

我想将product_id更改为自定义字段。我试着把它改成:

代码语言:javascript
复制
'product_id': '<?php echo $_item->getData('barcode') ?>',

没有任何运气。条形码是在产品中设置的一个属性,与sku不同。我遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-06 07:21:19

通过从订单项加载产品,您可以获得产品属性barcode,如下所示:

$_item->getProduct()->getBarcode()

所以完整的代码如下:

代码语言:javascript
复制
<?php foreach($_order->getAllVisibleItems() as $_item): ?>
<?php if($_item->getParentItem()) continue; ?>
sa('ecommerce', 'addItem', JSON.stringify({
    'order_id': '<?php echo $_order->getData($this->getTransactionIdField()) ?>',
    'product_id': '<?php echo $_item->getProduct()->getBarcode() ?>',
    'name': '<?php echo str_replace('\'','', $_item->getName()) ?>',
    'price': '<?php echo number_format($_item->getPriceInclTax(), 2) ?>',
    'quantity': '<?php echo (int) $_item->getQtyOrdered() ?>'
}));
<?php endforeach;?>
票数 1
EN

Stack Overflow用户

发布于 2016-07-05 17:17:15

$_item从$_order->getAllVisibleItems()返回Mage_Sales_Model_Order_Item,而不是Mage_Catalog_Model_Product

你有两个选择:

  1. 加载原始产品并从其中检索自定义属性:Mage::getModel('catalog/product')->load($_item->getId())->getData('barcode');
  2. 将产品属性传递给订单项:属性来引用项和订单项。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38207224

复制
相关文章

相似问题

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