Php Magento-在“销售订单”视图中显示类别信息

Php Magento-在“销售订单”视图中显示类别信息,php,magento,Php,Magento,编辑:所以一个男人说: “Magento中的所有订单数据都是特定于产品的。它不存储有关产品所属类别的任何信息。因此,正如您所发现的,Magento中没有此类信息的可用报告。” 这是真的吗?我想做的事是失败的吗 我试图在Magento的后端销售>订单>特定订单视图>信息>订购物品网格上显示产品类别。这不是导航到Sales>Order时看到的主“Orders grid”。我想修改你在第一个网格中点击特定顺序后看到的更详细的一个 根据来自的建议,我制作了一个新专栏,并给它适当的标题(类别) 然后,为了

编辑:所以一个男人说: “Magento中的所有订单数据都是特定于产品的。它不存储有关产品所属类别的任何信息。因此,正如您所发现的,Magento中没有此类信息的可用报告。” 这是真的吗?我想做的事是失败的吗

我试图在Magento的后端销售>订单>特定订单视图>信息>订购物品网格上显示产品类别。这不是导航到Sales>Order时看到的主“Orders grid”。我想修改你在第一个网格中点击特定顺序后看到的更详细的一个

根据来自的建议,我制作了一个新专栏,并给它适当的标题(类别)

然后,为了填充该列,我将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 ...

//下面是我粘贴用于定义变量的代码段。
class=“border”>

$\u cat
是一个对象

$_cat = Mage::getModel('catalog/category')->load($category_id) ;

<td class="a-center"><?php echo $cats ?></td>
例如

要查看某些it属性的列表,请尝试

print_r($_cat->getData());

因此,分类似乎真的很复杂,肯定超出了我的能力。我想出了一个解决办法,不管多难看。由于我没有使用manufacturer字段,并且只有4个相关类别,因此我正在为这4个类别中的每一个创建“manufacturer”,遍历并将其分配给所有产品,然后在相关文件中调用manufacturer。制造商代码如下所示:

 <?php 
$manufacturer = Mage::getModel('catalog/product')->load($_item['product_id'])->getAttributeText('manufacturer'); 
echo $manufacturer;
?> 


感谢您的代码片段,也感谢所有其他人的帮助。

->
$cats
是一个数组。你到底想从中得到什么?谢谢你的回复。嗯,我最终想要产品类别。但是我对php非常陌生,所以我甚至不确定我定义的变量($cats=$product->getCategoryIds()等)是否包含我需要的信息。。。我想在Magento没有关于产品类别的标准电话?谢谢您的回复。这很有帮助。在哪里输入print_r命令以查看属性列表?在
echo$\u cat->getName()之后的foreach循环中应该可以。它会为每个类别调用print\u r,但这并不重要,因为您现在正在探索关于您的类别的哪些信息?是的,我肯定会。我正在尝试显示类别名称。很抱歉我完全不了解PHP和print\u r命令,但是我是否需要调用print\r?如果我只是在Osie7的foreach循环中输入它,然后刷新页面,什么都不会改变。好的,我想了一些事情。。。我输入了Ossie7提到的打印行,然后在列部分用
调用它。现在该列返回“Array()”,这是否意味着该变量没有属性?
print_r($_cat->getData());
 <?php 
$manufacturer = Mage::getModel('catalog/product')->load($_item['product_id'])->getAttributeText('manufacturer'); 
echo $manufacturer;
?>