题
当您单击“管理客户”中的客户,然后“创建订单”时,我的客户不想看到残疾产品出现在列表中,以添加订单的产品。知道我将如何改变这一点?或至少一些文件位置提示,大声笑。
我正在编辑以下建议。
protected function _prepareCollection()
{
$attributes = Mage::getSingleton('catalog/config')->getProductAttributes();
/* @var $collection Mage_Catalog_Model_Resource_Product_Collection */
$collection = Mage::getModel('catalog/product')->getCollection();
$collection
->setStore($this->getStore())
->addAttributeToSelect($attributes)
->addAttributeToSelect('sku')
->addStoreFilter()
->addAttributeToFilter('type_id', array_keys(
Mage::getConfig()->getNode('adminhtml/sales/order/create/available_product_types')->asArray()
))
->addAttributeToSelect('gift_message_available');
->addFieldToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED);
Mage::getSingleton('catalog/product_status')->addSaleableFilterToCollection($collection);
$this->setCollection($collection);
return parent::_prepareCollection();
}
如您所见,我添加了 ->addFieldToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED);
但是正在遵循以下错误:
解析错误:语法错误,/home/ab71714/public_html/app/code/code/core/mmage/ADMINHTML/SALES/SALES/SALES/SALES/CREATE/CREATE/SEARCHE/SEARCHE/GRID.PHP,第109行109上的第109行,
解决方案
您要寻找的课是: Mage_Adminhtml_Block_Sales_Order_Create_Search_Grid
覆盖 _prepareCollection()
并在 $collection
像这样:
$collection->addFieldToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
这应该过滤所有禁用产品,并且仅显示启用的产品。用CE 1.7测试
希望这可以帮助!