Создать собственную коллекцию в 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',
));