编辑:所以这个线程中的一个人说:“Magento 中的所有订单数据都是特定于产品的。它不存储有关产品所属类别的任何信息。所以,正如您所发现的,没有可用的报告在 Magento 中处理这类事情。” 这是真的?我想做的事是失败的吗?
我正在尝试在 Magento 的后端销售 > 订单 > 特定订单视图 > 信息 > 已订购商品网格中显示产品类别。这不是您在导航到“销售”>“订单”时看到的主要“订单网格”。在单击第一个网格中的特定订单后,我想更改您看到的更详细的订单。
根据该线程的建议,我创建了一个新专栏并为其指定了正确的标题(类别)。
然后,为了尝试填充该列,我将 Joost de Valk 在此线程上的解决方案中的代码添加到 app/design/adminhtml/default/default/template/sales/order/view/items/renderer/default.phtml
我觉得我应该接近(或不接近),但目前该代码只是返回单词“Array”。有什么想法吗?
我当前的代码如下。有问题的列是第二个 td - 与 $cats 相呼应的那个:
<?php $_item = $this->getItem() ?>
// Here is the snippet I pasted in to define variables.
<?php $product = Mage::getModel('catalog/product')->load($productId);
$cats = $product->getCategoryIds();
foreach ($cats as $category_id) {
$_cat = Mage::getModel('catalog/category')->load($category_id) ;
echo $_cat->getName();
} ?>
<?php $this->setPriceDataObject($_item) ?>
<tr<?php if (!$this->canDisplayGiftmessage()): ?> class="border"<?php endif; ?>>
<td>
<?php if ($this->canDisplayContainer()): ?>
<div id="<?php echo $this->getHtmlId() ?>" class="item-container">
<?php endif; ?>
<div class="item-text">
<?php echo $this->getColumnHtml($_item, 'name') ?>
</div>
<?php if ($this->canDisplayContainer()): ?>
</div>
<?php endif ?>
</td>
// Here is the column in question.
<td class="a-center"><?php echo $cats ?></td>
<td class="a-center"><?php echo $_item->getStatus() ?></td>
<td class="a-right"><?php echo $this->displayPriceAttribute('original_price') ?></td>
etc, etc, etc ...