我想在搜索网格(Sales_Order_Create_Search_Grid)的产品选择阶段显示订单创建时的库存水平(在后端):
我该怎么做呢?
答案 0 :(得分:1)
有3个步骤。
首先:查找此文件:
应用程序/代码/核心/法师/ Adminhtml /砌块/销售/订购/创建/搜索/ Grid.php
将其复制到:
应用程序/代码/本地/法师/ Adminhtml /座/销售/订单/创建/搜索/ Grid.php
这将有助于确保您不会覆盖核心文件,而是创建不会受升级影响的本地版本。
第二:在新文件中,_prepareCollection()函数的代码如下:
$collection = Mage::getModel('catalog/product')->getCollection();
$collection
->setStore($this->getStore())
->addAttributeToSelect($attributes)
->addStoreFilter()
->addAttributeToFilter('type_id', array_keys(
Mage::getConfig()->getNode('adminhtml/sales/order/create/available_product_types')->asArray()
))
->addAttributeToSelect('gift_message_available');
将此代码添加到该块:
->joinField('qty2',
'cataloginventory/stock_item',
'qty','product_id=entity_id','{{table}}.stock_id=1','left')
使完成的版本看起来像:
$collection = Mage::getModel('catalog/product')->getCollection();
$collection
->setStore($this->getStore())
->addAttributeToSelect($attributes)
->joinField('qty2',
'cataloginventory/stock_item',
'qty','product_id=entity_id','{{table}}.stock_id=1','left')
->addStoreFilter()
->addAttributeToFilter('type_id', array_keys(
Mage::getConfig()->getNode('adminhtml/sales/order/create/available_product_types')->asArray()
))
->addAttributeToSelect('gift_message_available');
第三:仍然在新文件中,找到_prepareColumns()函数并添加以下代码:
$this->addColumn('qty2', array(
'header' => Mage::helper('sales')->__('Stock Level'),
'width' => '20',
'type' => 'number',
'index' => 'qty2'
));
如果将上述代码块添加到_prepareColumns()函数中,将确定“Stock Level”列在网格上显示的顺序。
就是这样。