আমি একই জিনিস করেছি। ক্রম অনুসারে 'অর্ডার_ টাইপ' ক্ষেত্র যুক্ত হয়েছে এবং এটি গ্রিডে প্রদর্শিত হয়েছে। এটি ম্যাজেন্টো ভের 1.7.0.2 এ পুরোপুরি কাজ করছে
অ্যাডমিনে বিক্রয় অর্ডার গ্রিডে অর্ডার প্রকারের ক্ষেত্রটি কীভাবে যুক্ত করবেন?
1) আমাদের নীচের কোড সহ একটি ইনস্টল এসকিউএল ফাইল তৈরি করতে হবে।
<?php
/* @var $installer Mage_Sales_Model_Entity_Setup */
$installer = $this;
$installer->startSetup();
$installer->run("
ALTER TABLE `{$installer->getTable('sales/order')}` ADD `order_type` VARCHAR(255) NOT NULL;
ALTER TABLE `{$installer->getTable('sales/order_grid')}` ADD `order_type` VARCHAR(255) NOT NULL;
ALTER TABLE `{$installer->getTable('sales/quote')}` ADD `order_type` VARCHAR(255) NOT NULL;
");
$installer->endSetup();
?>
2) ওভাররাইড Mage_Adminhtml_Block_Sales_Order_Grid ফাইল এবং এতে নীচের কোড যুক্ত করুন।
<?php
class Mycompany_Mymodule_Block_Adminhtml_Sales_Order_Grid extends Mage_Adminhtml_Block_Sales_Order_Grid
{
protected function _prepareColumns()
{
$options = array(
'ordertypeID1' => 'order type label1',
'ordertypeID2' => 'order type label2',
'ordertypeID3' => 'order type label3',
);
$this->addColumn('order_type', array(
'header' => Mage::helper('customer')->__('Order Type'),
'width' => '100',
'index' => 'order_type',
'type' => 'options',
'options' => $options
));
$this->addColumnsOrder('order_type', 'grand_total');
return parent::_prepareColumns();
}
}
?>
3) অর্ডার প্রকারের ক্ষেত্রের মান / আপডেট করতে একটি পর্যবেক্ষক ইভেন্ট তৈরি করুন
আপনার মডিউল / ইত্যাদি / config.xml খুলুন
<config>
<adminhtml>
<events>
<adminhtml_sales_order_create_process_data>
<observers>
<modulename>
<class>Mycompany_Mymodule_Model_Adminhtml_Observer</class>
<method>adminhtml_sales_order_create_process_data</method>
</modulename>
</observers>
</adminhtml_sales_order_create_process_data>
<sales_convert_quote_to_order>
<observers>
<modulename>
<type>model</type>
<class>Mycompany_Mymodule_Model_Adminhtml_Observer</class>
<method>sales_convert_quote_to_order</method>
</modulename>
</observers>
</sales_convert_quote_to_order>
</events>
</adminhtml>
</config>
৪) মাইকম্পানি_মোমডিউল_মডেল_এডমিন_এইচটিএমএল_অবসারবার ক্লাসের একটি পর্যবেক্ষক ফাইল তৈরি করুন
<?php
class Mycompany_Mymodule_Model_Adminhtml_Observer
{
public function adminhtml_sales_order_create_process_data(Varien_Event_Observer $observer)
{
try {
$requestData = $observer->getEvent()->getRequest();
if (isset($requestData['order']['order_type'])) {
$observer->getEvent()->getOrderCreateModel()->getQuote()
->addData($requestData['order'])
->save();
}
} catch (Exception $e) {
Mage::logException($e);
}
return $this;
}
/**
*
* @param Varien_Event_Observer $observer
* @return Mycompany_Mymodule_Model_Adminhtml_Observer
*/
public function sales_convert_quote_to_order(Varien_Event_Observer $observer)
{
if ($ordertype = $observer->getEvent()->getQuote()->getOrderType()) {
try {
$observer->getEvent()->getOrder()
->setOrderType($ordertype);
} catch (Exception $e) {
Mage::logException($e);
}
}
return $this;
}
}
?>