2014-03-12 122 views
1

我们有一个包含交货日期的表格,我想将其添加到sales/order/grid中的adminhtml中。 我遇到的问题是左连接示例不为我工作,我没有选择。在magento中创建自定义集合

Mage/Adminhtml/Block/Sales/Order/Grid.php 

方法IM现在正试图为创造_prepareCollection())自定义查询

$resource = Mage::getSingleton('core/resource'); 
    $readConnection = $resource->getConnection('core_read'); 

    $query = 'SELECT * FROM mage_sales_flat_order_grid 
       left join mage_aw_deliverydate_delivery 
       on mage_sales_flat_order_grid.entity_id = 
       mage_aw_deliverydate_delivery.order_id'; 

    $collection = $readConnection->fetchAll($query); 

    //$collection = Mage::getResourceModel($this->_getCollectionClass()); 
    //$this->setCollection($collection); 
    return parent::_prepareCollection(); 

然后我_prepareColumns添加此列码(

$this->addColumn('delivery_date', array(
     'header' => 'delivery_date', 
     'index' => 'delivery_date', 
     'type' => 'datetime', 
     'width' => '100px', 
    )); 

当我查看后台中的订单网格时,我甚至没有看到新的列。

任何帮助表示赞赏!

+0

? –

+0

我如何做到这一点

$this->addColumn('aw_deliverydate_delivery', array( 'header' => Mage::helper('sales')->__('Delivery Date '), 'index' => 'aw_deliverydate_delivery', 'type' => 'datetime', 'width' => '100px', )); 
SinisterGlitch

+0

请检查答案 –

回答

1

如果您要添加的anthor表

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

     $collection->getSelect()->joinLeft('aw_deliverydate_delivery', 'main_table.entity_id = aw_deliverydate_delivery.order_id',array('*')); 
     $this->setCollection($collection); 
     return parent::_prepareCollection(); 
    } 

而且在_prepareColumns()下面的代码

要mage_aw_deliverydate_delivery添加到销售网格表
+0

我试过这个,但我没有得到任何结果,列不添加,我得到没有erros – SinisterGlitch

+0

请告诉什么错误 –

+0

我得到没有错误,页面只是加载像没有改变。当我打印集合并插入到SQL它的作品,我看到delivery_date列 – SinisterGlitch

相关问题