所以我试图修改一个插件,以满足我对Magento的需求。
我有以下代码:
<?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更改为自定义字段。我试着把它改成:
'product_id': '<?php echo $_item->getData('barcode') ?>',没有任何运气。条形码是在产品中设置的一个属性,与sku不同。我遗漏了什么?
发布于 2016-07-06 07:21:19
通过从订单项加载产品,您可以获得产品属性barcode,如下所示:
$_item->getProduct()->getBarcode()
所以完整的代码如下:
<?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;?>发布于 2016-07-05 17:17:15
$_item从$_order->getAllVisibleItems()返回Mage_Sales_Model_Order_Item,而不是Mage_Catalog_Model_Product
你有两个选择:
Mage::getModel('catalog/product')->load($_item->getId())->getData('barcode');https://stackoverflow.com/questions/38207224
复制相似问题