我已经在Magento堆栈中问过这个问题,因为我没有得到任何回应,因此我将其张贴在这里。 我正在使用Magento 1.9,我需要在Magento Reports中添加基于类别(顶级类别-默认类别的子类别)的自定义过滤器。以下是我编写的用于添加过滤器选项的代码:
文件路径-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;
}
}
但是我不知道必须如何过滤集合以及在哪个文件中进行过滤才能基于产品类别获取报告。
我该如何实现?任何帮助将不胜感激。