1

我创建了一个自定义属性来跟踪每个项目的利润。

出于分析目的,我需要将其添加到 JS 中的变量并将其附加到 url 字符串。

不幸的是,我似乎无法访问该属性,并且每次尝试回显该值时,它都会返回 null。

这是代码;

$orderObj = Mage::getModel(’sales/order’)->loadByIncrementId($this->getOrderId()); 
$orderItems = $orderObj->getAllItems(); 
$basket = ‘’; 
$mail_body = ‘’; 
foreach($orderItems as $item) 
{ 
$basket .= $item->getSku() .’|’. number_format($item->getRowTotal(), 2, ‘.’, ‘,’) .’|’. round($item->getQtyOrdered()) . ‘,’; 
}

foreach($orderItems as $item) { 
$product_item = Mage::getModel(’catalog/product’)->load($this->getProductId()); 
$mail_body .= $product_item->getAttributeText(’profit’); 
$mail_body .= “---\n\n”; 
}

我试图开始工作的主要代码在 foreach 中。

任何想法为什么这不返回值?

4

2 回答 2

1

尝试

$order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
$items = $order->getItemsCollection();

foreach($items as $item){
  $product = Mage::getModel('catalog/product')->load($item->getProductId());
  echo $product->getAttributeText('profit');
}
于 2013-09-16T13:50:08.583 回答
0
$custom = Mage::getModel('catalog/product')->load($item->getProductId());

echo $custom->getAttributeText('profit');

或者

这是可行的解决方案,它很简单,但我不明白:

<?php
$custom = Mage::getModel('catalog/product')->load($_item->getProductId());
echo $custom->getAttributeText('profit');
?>

希望这对你有帮助。

于 2013-09-16T11:54:12.553 回答