Magento后台订单列表 显示产品图片

注意:产品图片能成功显示出来,但分页功能被破坏,目前没有找到解决方法

订单Grid的主表:sales_flat_order_grid
订单详细表:sales_flat_order_item
产品表:catalog_product_entity
做关联查询可以得到product_id

1.#打开
\app\code\core\Mage\Adminhtml\Block\Sales\Order\Grid.php
#找到 protected function _prepareCollection()方法,大约57行

修改后方法如下:

protected function _prepareCollection()
{
	$collection = Mage::getResourceModel($this->_getCollectionClass());

	$collection->getSelect()->joinLeft('sales_flat_order_item','main_table.entity_id = sales_flat_order_item.order_id');
	$collection->getSelect()->joinLeft('catalog_product_entity', '`catalog_product_entity`.entity_id = `sales_flat_order_item`.`product_id`', array('product_id'  => new Zend_Db_Expr('group_concat(`catalog_product_entity`.entity_id SEPARATOR ", ")')));
	$collection->getSelect()->group('main_table.entity_id');
	   
	$this->setCollection($collection);
	return parent::_prepareCollection();
}


2.#找到 protected function _prepareColumns()方法,大约84行

添加如下代码:

 $this->addColumn('product_pic', array(
            'header' => Mage::helper('catalog')->__('Pic'),
            'index' => 'product_id',//product_id 上面查询的字段
            'renderer'=>'Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Image',//对应一个名为这个的类
            'filter'=>false, //搜索过滤
            'sortable'=>false //排序
        ));


3.在 \app\code\core\Mage\Adminhtml\Block\Widget\Grid\Column\Renderer目录下,新建一个 Image.php

Image.php代码如下:

<?php
class Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Image extends  Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{
	public function render(Varien_Object $row)
    {
		//一个订单有可能有多个产品,在做关联查询的时候product_id被group_concat(`catalog_product_entity`.entity_id SEPARATOR ", ")')
		//所以此处分隔为数组
		$product_ids =explode(',',$row->getData('product_id'));
		$html = '';
		foreach($product_ids as $id){
			//然后根据产品id获得图片
			 $imgurl= Mage::getBaseUrl('media').'catalog/product'.Mage::getModel('catalog/product')->load($id)->getImage();
			 //拼接html
			 $html .= '<img  src="'.$imgurl.'" width="50"/>';
		}
		return $html;
    }
}
到这一步后,订单列表就可显示产品图片了


但是分页功能被破坏了,到目前还没有找到解决的办法。大哭

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值