bkz bu tablolarda
için daha fazla alan eklemek anlamına gelir sanırım buldum şimdi.
sales_flat_order_grid
Öncelikle ben "ana" tablosunu (sales_flat_order
) ve ana tablo + "_grid" (sales_flat_order_grid
) hem denetler çalıştı izi takip ederek, Mage_Sales_Model_Mysql4_Order_Abstract::updateGridRecords()
güncellenir, onların kolonların Intersect alır ve bundan bir sorgu oluşturur. Dolayısıyla, ızgara tablosunda ihtiyacınız olan herhangi bir sütun da ana tabloda bulunmalıdır. EAV tarzı bir varlık değildir, bu nedenle özelliklerin oluşturulmasına gerek yoktur.
İşte benim kurulum komut dosyasıdır:
<?php
/* @var $this Nexxt_Booth_Model_Entity_Setup */
$installer = $this;
$installer->getConnection()->addColumn($installer->getTable('sales_flat_order'), 'box_num', 'varchar(255)');
$installer->getConnection()->addColumn($installer->getTable('sales_flat_order_grid'), 'box_num', 'varchar(255)');
Sonraki, ben yönetici tüm düzen tablolarda gösterilmesi fazladan sütun gerekiyordu. Bunu yapmak için her ilgili bloğu geçersiz kıldım.
<?php
class My_Module_Block_Adminhtml_Sales_Order_Grid extends Mage_Adminhtml_Block_Sales_Order_Grid
protected function _prepareColumns()
{
$this->addColumn('box_num', array(
'header' => $this->__('Box #'),
'index' => 'box_num',
'width' => '100px'
));
$this->addColumnsOrder('box_num', 'shipping_name');
return parent::_prepareColumns();
}
}
My/Module/Block/Adminhtml/Customer/Edit/Tab/Orders.php
yılında Benzer
ve My/Module/Block/Adminhtml/Customer/Edit/Tab/View/Orders.php
ben bu işlevi eklendi:
protected function _prepareColumns()
{
$this->addColumn('box_num', array(
'header' => $this->__('Box #'),
'index' => 'box_num',
'width' => '100px'
));
$this->addColumnsOrder('box_num', (Mage::app()->isSingleStoreMode() ? 'grand_total' : 'store_id'));
return parent::_prepareColumns();
}
Nihayet
, bitirmek için, olay sales_convert_quote_to_order
I My/Module/Block/Adminhtml/Sales/Order/Grid.php
yılında
<?xml version="1.0"?>
<config>
....
<global>
<blocks>
<adminhtml>
<rewrite>
<customer_edit_tab_view_orders>
<!-- Recent 5 orders on customer page -->
My_Module_Block_Adminhtml_Customer_Edit_Tab_View_Orders
</customer_edit_tab_view_orders>
<customer_edit_tab_orders>
<!-- All orders on customer tab -->
My_Module_Block_Adminhtml_Customer_Edit_Tab_Orders
</customer_edit_tab_orders>
<sales_order_grid>
<!-- All orders in Sales menu -->
My_Module_Block_Adminhtml_Sales_Order_Grid
</sales_order_grid>
</rewrite>
</adminhtml>
</blocks>
</global>
</config>
aşağıdaki yapılmış yeni alanı doldurdu. Bu bit, verilerin kaydedilmesinden önce bir noktada verileri eklediğiniz sürece önemli değildir.
$order->setBoxNum('DATA GOES HERE');
ben tam olarak aynı şeyi yapmaya çalışıyorum, ben yeni bir sütun yaptık sales_flat_order_grid olarak barcode_no ve Grid.php kullanarak magento siparişleri ızgarasında bu sütunu gösterdim.Şimdi barcode_no değerini magento arka ucundan sales_flat_order_grid tablosuna nasıl kaydedebilirim? –
@ShujaatShaikh hangi sorunla karşılaşıyorsunuz? – clockworkgeek
Hayır, nerede bir tuturucu bulabilirim, phento veritabanına özel bir değerin nasıl ekleneceğini açıklayan magento admin arka ucundan. Herhangi bir yazı büyük yardım olurdu! –