2016-07-14 6 views
0

Я работаю с Magento 1.9.2, и я работаю над пользовательским расширением.Magento - попытка скрыть заказ с определенным статусом из сетки заказа клиента в Adminhtml

Я создал копию из

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

копия:

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

И то во втором я был modifiyng этой функции:

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

Я думаю, что проблема происходит потому, что я не установлен фильтр правильно. Где моя ошибка, как я могу ее исправить и достичь того, чего хочу?

Заранее благодарен!

ответ

0

Попробуйте это:

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

Я попытался это:

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

и она работала отлично, показывая все столбцы детали.