I have programming experience and HTML experience and am struggling to find a good guide for beginners.

The Magento website seems pitched at experts but I could be looking in all the wrong places.

Are there any especially good books or online resources?

In particular I would like to learn how to add my own JavaScript to the various pages in the site for a custom retail data analytics service I am working on.


7 Answers 7


Unfortunately you won't be able to work on Magento without knowing at least some PHP so I would recommend that you at least learn the basics of the language (including how to use classes).

If you are intending to focus on just styling of the page (no new functionality that would require some code changes) then you should look at how magento layouts and themes work. All the content can be found in app/design folder and this is the place where the least PHP can be found.

Layout files define (if not otherwise speccified in code) which blocks, css and javascript files will be added where (this is the place where your javascript inclusion should go).

Templates are the actual block HTML content files (it is there where most of HTML is written and dynamicaly changed with PHP).

Note that layout and template files can be overwritten by placing them on different locations so you should never rewrite default layout and template files.


The best resource would be to look into already existing default layout and template files.

Google :)

Stack Overflow - This link is on how to add your own JS file to theme

Alan Storm tutorials - They are more technical so you should learn basic PHP first (he also wrote a book that extensively covers the Magento layout system but requires you to know PHP).

Magento For Designers - I didn't read the tutorials but they seem to go through Magento without expecting too much PHP knowledge

  • 1
    Alan's No Frills Magento Layout is an essential resource. It comes highly recommended.
    – pspahn
    Feb 8, 2013 at 19:12

There is also an 40h online video training Fundamentals of Magento Development on Magento U, which you can take for free if you create an account. The Magento Knowledge Base is also a good place to start.

Before you start coding, you should learn how Magento actually works, about Zend's MVC Framework, how layout XMLs and blocks work together, etc.

But there is really no 100% answer to your question. It depends on where you want to go with Magento. Like, you asked to add your analytics js to your pages. This could be done via local.xml or even the simplest way with no file modifications at all in Magentos Backend under System > Configuration > General > Design > HTML Head > Miscellaneous Scripts by just adding your <script>... there.


I suggest you follow these steps to learn magento from you background

  1. Learn HTML/JS/CSS: this will be used for front end development or any UI customization in client side so that you must expertise these things before doing anything

  2. Learn PHP: at least you build your own PHP simple app from beginning to understand some basic feature. For example: you can build a simple CMS with authentication

  3. Learn OOP & MVC: these design pattern are very important to get started with magento so that you can't miss it.

  4. Install and configure magento: it is not too complicate to do this. At least you can set up a magento site from beginning to get it work and act as administrator of the site.

  5. Install and configure some module: one step checkout, smtp, theme, language ... so you understand how the system work

  6. Do the first theme customization

  7. Do the first module customization

  8. Do the full new module/theme

So these step can take you 3 to 6 months before you can do a good job.


Please first learn php, oops concept, zend MVC framework then try to learn magento because magento is build with these all things this is not any tutorial sites and best site for magento is itself magentocommerce.com's fourms and another for magento is inchoo.net is best site i also learn this way and from these sites


I also suggest giving a look here:


It's a curated technical resources list; contributions are always appreciated :)


If you have worked with other languages java .net and few MVC frameworks then learn bit of php and after a while things will start to make sense. But if php is your first language and you are a beginner then I would say stay away from it for at least a year. It will demoralize you and you will quit very soon. (In that year learn OOP php, custom MVC would help, 1 or two MVC framework like codeignitor or Zend if possible)


I give only 3 advice to people who want to learn Magento.

1.Read this book : magento for php developers.

2.Explore a LOT here alanstorm.com.

3.Download the readymade modules from magento connect such as great Ultimate module creator , Git hub page for same.

3rd step was VERY helpful for me because: I got to know how it is done Properly.

I got to know many things I never knew. I thus could immediately goto google and find the term I dont understand/know. Also I got to know I am understanding syntax of it pretty well.

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