I used the following project and created a custom report: https://github.com/technodelight/magento_custom_reports_example

I changed stuff in the report. mainly there is another table joined to the data and the csv-export is customized.

So now I have the report at https://shop.tld/index.php/admin/admin/my_reports/index/

I now want another report that just changes the table joined to the data and the csv export. So I need to change \code\local\My\Reports\Model\Mysql4\Report\Collection.php and \code\local\My\Reports\controllers\Adminhtml\My\ReportsController.php I want to crate two new classes and inherit from the existing two.

What I don't know is how I have to name my classes and add them to the adminhtml.xml, so it is visible at a new menu point.

It should be available at https://shop.tld/index.php/admin/admin/my_reports/[something]/ or https://shop.tld/index.php/admin/admin/[something]/index/

The adminhtml is now

                    <my_reports translate="title">
                        <title>My Custom Report</title>

I can add another part like:

                    <my_report_two translate="title">
                        <title>Another Report</title>

And it will open the url https://shop.tld/index.php/admin/admin/my_report_two/index/

But there is just a 404 error, obviously.

1 Answer 1


Whenever you create a controller, every dash would mean a subdirectory down. So if the adminhtml/my_reports points to My/ReportsController.php , adminhtml/my_report_two will point to My/Report/TwoController.php. If this won't work, it means another thing isn't configured well.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.