Как добавить собственный фильтр для отчетов Magento 1.9? - PullRequest
0 голосов
/ 08 мая 2020

Я уже задавал этот вопрос в стеке Magento, так как я не получил ответа, я публикую его здесь. Я использую Magento 1.9, мне нужно добавить настраиваемый фильтр на основе категорий (категория верхнего уровня - дочерняя категория по умолчанию) в отчетах Magento. Ниже приведен код, который я написал для добавления параметров фильтра:

Путь к файлу - app/code/local/Mage/Adminhtml/Block/Report/Filter/Form.php

class Mage_Adminhtml_Block_Report_Filter_Form extends Mage_Adminhtml_Block_Widget_Form{
 ...
 protected function _prepareForm()
 {
    ...

    $fieldset->addField('top_category', 'select', array(
        'name'      => 'top_category',
        'options'   => $this->getStoreCategories(),
        'label'     => Mage::helper('reports')->__('Select Store'),
        'title'     => Mage::helper('reports')->__('Select Store')
    ));

    $form->setUseContainer(true);
    $this->setForm($form);

    return parent::_prepareForm();
 }

 ...

 protected function getStoreCategories(){
    $rootCategory = Mage::getModel('catalog/category')->load(2);
    $topLevelCategories = $rootCategory->getChildrenCategories();
    $allStores=array();
    $allStores['']='';
    foreach ($topLevelCategories as $top)
    {
        $allStores[$top->getId()]=$top->getName();
    }
    return $allStores;
 } 
}

Но я не знаю, как и в каком файле должна быть отфильтрована коллекция чтобы получить отчет по категории продукта.

Как я могу этого добиться? Любая помощь будет оценена по достоинству.

...