I am trying to learn extension development using the official guide and I am confused with the use of different cases for naming different files and folders.

For instance, the proposed structure for the extension has been shown as: enter image description here

What I notice is that the folders for Blocks, Models and Helpers are named starting with a Capital letter but the folders data, etc, sql and controller begin with small letters.

I find this inconsistency uncomfortable.

Further down the book, a file is named Magentostudy_news.xml but is then later referenced in config.xml as :


Note the inconsistency in file name capitalization.

I read that Magento favors configuration over convention but this inconsistency is kind of unnerving.

My question is this : Can I have arbitary names, say use Controller instead of controller for sake of consistency ?

2 Answers 2


Magento takes serious care on naming file/folder structures. What you have mentioned above is fully correct and unfortunately you cannot change them.

As I understand anything inside design folder should be small letters. So Magentostudy_news.xml should be magentostudy_news.xml, not sure if it works with capital. I always use small letters for these design files/folders.

Check this.

  • Magentostudy_news.xml might not show error in Windows environment, but will definitely not work on Linux. Windows is sometimes soft on capitalization. Jun 19, 2015 at 7:33

First of all Magento following mvc structure. You have to follow extension developement structure in order to create extention.


  1. create module configuration file inside


  1. Create local folder inside app folder app/local

  2. Create folder package of your extension (i.e yourname or xyzcompany) app/local/Asoft

  3. Create folder of your extension that you want to built. I want to create customer checkout extension


Here you need to create 6 folder

4.1 app/local/Asoft/Checkout/Block

In block folder you will have to write business logic which is required to view pages



In controller folder you will have to write action login of your extension

4.3 app/local/Asoft/Checkout/Helper

In Helper folder you will have to write general function



In model folder you will have to write model which is used to take and give data from your app to db and vice versa

4.5 app/local/Asoft/Checkout/Sql

In sql folder you will have to write db creation script to install script of your db table



In config folder you will have to create config.xml file which is used to configure your extension

  1. Or if you want to create layout, you will need to make layout's xml file which you had specified in config.xml

If it is admin related layout then you have to create inside design/adminhtml/default/default/layout

If it is front related layout then you have to create inside design/frontend/default/default/layout


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.