Magento - 尝试在Adminhtml

时间:2016-07-14 14:32:15

标签: php magento grid adminhtml

我正在使用Magento 1.9.2,我正在开发自定义扩展程序。

我已经从

创建了一个副本
  

/app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php

复制到:

  

/app/code/local/Mage/Adminhtml/Block/Sales/Order/Grid.php

然后在第二个中我修改了这个功能:

protected function _prepareCollection()
{
    $collection = Mage::getResourceModel($this->_getCollectionClass());
    $this->setCollection($collection);
    return parent::_prepareCollection();
}

对此:

protected function _prepareCollection()
{
    $collection = Mage::getModel('sales/order')->getCollection()->addFieldToFilter('status',array('neq' => 'epaycc'));;
    $this->setCollection($collection);
    return parent::_prepareCollection();
}

现在我还有其他问题。 它似乎没有显示状态为epaycc的订单,但现在它没有显示创建订单的客户的名称。看看:

enter image description here

我认为问题出现是因为我没有设置过滤器。 我的错误在哪里,我如何解决它并实现我想要的?

提前致谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

protected function _prepareCollection() {
  $collection = Mage::getModel('sales/order')->getCollection();
  $collection->addFieldToFilter('status',array('neq', 'epaycc'));
  $this->setCollection($collection);
  return parent::_prepareCollection();
}

答案 1 :(得分:0)

我试过了:

protected function _prepareCollection()
{
    $collection = Mage::getResourceModel($this->_getCollectionClass());
        // filter ty status 
    $collection ->addFieldToFilter('status',array('neq' => 'complete'));
    $this->setCollection($collection);
    return parent::_prepareCollection();
} 

它完美无缺,显示了所有列的详细信息。