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