如何将自定义列添加到Magento中的销售订单网格以显示自定义产品属性


how to add a custom column to sales order grid in magento to show custom product attribute

大家好,我想在销售订单网格中添加一列以显示exp产品的自定义属性:颜色非常感谢您的帮助。

步骤 1 :- 复制应用程序''代码''核心''法师''管理html''块''销售''订单''网格.php 自app''code''local''Mage''Adminhtml''Block''Sales''Order''grid.php查找受保护的函数 _prepareColumns()要添加列,请使用以下代码:-

$this->addColumn('color ', array(
    'header' => Mage::helper('sales')->__('color #'),
    'index' => 'color',
     'sortable'  => false,
            'filter'    => false,
    'renderer' => 'Mage_Adminhtml_Block_Sales_Order_Renderer_Productatt',
));

第 2 步:- 在 :- 创建一个新文件

app''code''local''Mage''Adminhtml''Block''Sales''Order''Renderer''Productatt.php添加此代码:-

类Mage_Adminhtml_Block_Sales_Order_Renderer_Productatt扩展Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract{    公共函数渲染(Varien_Object $row)    {                            $order = Mage::getModel('sales/order')->load($row->getData('entity_id'));                         $attribute =";        foreach($order->getAllVisibleItems() as $_item){         $product = Mage::getModel('catalog/product')->load($_item->getProductId());               if($product->getAttributeText('color')){            $attribute .= $product->getAttributeText('color');       }    }        未设置($order);        返回$attribute;         }      }