【问题标题】:how to add a custom column to sales order grid in magento to show custom product attribute如何在magento的销售订单网格中添加自定义列以显示自定义产品属性
【发布时间】:2015-01-12 06:20:36
【问题描述】:

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

【问题讨论】:

  • 覆盖 Mage_Adminhtml_Block_Sales_Order_Grid 并且您可以设置网格集合和列。添加列并设置集合中的值 $this->addColumn('color', array( 'header' => Mage::helper('sales')->__('# Color'), 'width' => '80', 'name' => 'color', 'index' => 'color', ));
  • 我收到以下错误:- SQLSTATE[42S22]:找不到列:1054 'order 子句'中的未知列 'color',查询是:SELECT main_table.* FROM sales_flat_order_grid AS main_table ORDER BY 颜色 ASC LIMIT 20
  • 是的,您必须获取颜色列结果并设置为集合。
  • 您好@user3040610 我如何在收藏中设置价值请帮助我,我是 magento 的新手,谢谢。

标签: php magento magento-1.8


【解决方案1】:

第 1 步:- 复制 app\code\core\Mage\Adminhtml\Block\Sales\Order\grid.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'));
            $属性="";

        foreach($order->getAllVisibleItems() as $_item){
        $product = Mage::getModel('catalog/product')->load($_item->getProductId());
       if($product->getAttributeText('color')){
            $attribute .= $product->getAttributeText('color');
       }
    }
        未设置($订单);
        返回$属性;
    }
}

【讨论】:

  • 我可以知道如何解决这个错误,致命错误:未捕获的错误:调用 C:\wamp\www\anc\app\code\core\Mage 中布尔值的成员函数 getSource() \Catalog\Model\Product.php 在第 1385 行
猜你喜欢
  • 1970-01-01
  • 2014-12-03
  • 1970-01-01
  • 2014-10-22
  • 2022-11-22
  • 2023-03-09
  • 2018-01-22
  • 1970-01-01
  • 2015-07-13
相关资源
最近更新 更多