Recently, I needed some good resource to start learning Magento e-Commerce system for one of my current web projects. For this project, I was required to write an extension module that would implement a customer-specific payment method. To get started, I tried to browse Magento documentation and to find good free tutorials on the Internet. I was not neither satisfied with the documentation nor could find a good tutorial. After realising that, I decided to find a good book about Magento extension development. I was so lucky, because I’ve found the “Getting Started with Magento Extension Development” book by Branko Ajzele. Below, I provide a brief overview of the book and my personal recommendations.
Indeed, the “Getting Started with Magento Extension Development” book is the right place to start with Magento extension development! Author’s explanation style is very easy to understand (compared to other resources I’ve faced with). Of course, to read the book you need to be a pro in PHP/Zend Framework development, otherwise you won’t be familiar with the terminology. But, since you know ZF, you will feel comfortable reading this book.
So, the book is some kind of “cook book”, its a set of recipes. Each recipe shows how to write certain example Magento extension from scratch. The complete source code can be downloaded when you purchase the book. The source code is very usable, because when you are new to Magento, you will typically make a mistake/type and will spend many hours determining why the code doesn’t work as you expected. With having the code, you can just install certain extension manually and just see how it works or to investigate its code deeper.
In the beginning of the book, there is a (very large) chapter about Magento code architecture and terminology. You will learn about the directory structure, the code pools (you are targeted on the Community pool), the controllers, actions and routers, the blocks, templates and themes (changeable sets of templates). The terms “controller”, “action” and “route” may be familiar to PHP developers who knows Zend Framework. However, “blocks” and “themes” is a very difficult thing to understand without this excellent book.
Next, you will find several chapters showing step-by-step how to write certain type of extension from scratch. The chapter begins with defining the requiresments for the extension module (What we are trying to achieve?) and the implementation of that requirements (What steps we need to perform to achieve that?)
The author shows how to write different simple types of extensions:
- Logger extension. Shows how to listen to Magento events and react accordingly.
- Shipping method extension. Add your own custom shipping method if a standard method doesn’t suits your needs.
- Payment method extension. Shows how to write a payment method (if a standard one is not suitable for you).
The “Getting Started with Magento Extension Development” book is written by Branko Ajzele. He is a Chief Technology Officer at Inchoo, a Magento Gold Solution partner company that offers top-quality e-commerce solutions, specializing in the Magento e-commerce platform.
The book was published by Packt Publishing. It has 128 pages and costs $17.84. It can be purchased from Packt Publishing web site: http://www.packtpub.com/getting-started-with-magento-extension-development/book
To those who are new to Magento and strongly wishes to start creating Magento extensions quickly, the “Getting Started with Magento Extension Development” book is the right choice, because the author has a very good explanation style. This book is a set of recipes / very well developed step-by-step tutorials showing how to write modules for Magento. Complete source code can be downloaded together with the book, which makes learning much easier.
Writing review for this book is completely my choice based on my personal interest in learning Magento, and I was not paid for this. I was provided with a free PDF copy of this book in order that I may review it (I cooperate with Packt Publishing from time to time, because I’m interested in learning new things, and they are interested in spreading the word abouth their books). I am not receiving any money reward for writing this review.