Создать собственную коллекцию в magento

У нас есть таблица с датами доставки, и я хочу добавить ее в adminhtml в sales/order/grid. Проблема, которую я имею, состоит в том, что левые примеры соединения не работают для меня, и у меня нет вариантов.

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

Метод, который я сейчас пытаюсь сделать, - это создать собственный запрос в _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',
    ));

Я даже не вижу новый столбец, когда смотрю на сетку заказов в бэк-офисе.

Любая помощь приветствуется!

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()

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

        ));
Другие вопросы по тегам