This tutorial series, Joomla 3 component development, is currently in progress…
I’ve already written tutorials on writing Joomla plugins and creating Joomla templates. A topic I’ve skipped for quite some time is how to create a Joomla component. Why? Well, it’s always seemed pretty difficult. Instead of writing code and placing it typically in a single file like plugins and modules, component development requires a much deeper understanding of various topics such as the MVC.
Tutorials and other Resources for Component Development
Joomla’s own documentation
A quote from the tutorial:
The class HelloWorldViewHelloWorld resides in site/views/helloworld/view.html.php and will make use of the class HelloWorldModelHelloWorld in the file site/models/helloworld.php
I’m sure this makes sense, but not the first or second time I read it.
Yesterday, I spent a few hours reviewing the tutorials and code samples found in Joomla’s documentation for Developing a MVC Component.
I like to think of myself as an experienced PHP developer, but I found myself a bit stumped going through that tutorial series. At times, I was reading the same paragraph over and over hoping it would click. Sometimes it would, but other times I found myself needing more visual aids to help drive home the points they were trying to make.
Lendr – learn by example
When searching the web for tutorials on how to create components in Joomla, the Joomla documentation mentioned above dominated the search results. I was also able to find Lendr.
Lendr is a component for Joomla written by the team at webspark (which includes @dbhurley – a member of the Joomla team). It’s a simple Joomla component in theory, and is accompanied by a tutorial series on how it was written.
I skimmed through the tutorial series, which only confirmed my assumption that learning component development the right way can be tough and will require a commitment.
Component Creators
I think many other people have also realized what I have. In addition to a solid understanding and skillset of php / oop / and the mvc, component creation is tedious. When looking for tutorials, you’ll actually end up on sites that offer automated component creation. What exactly does that mean? These services allow you to enter a few details about the component that you want to create, and they create the skeleton of the component and offer this file/folder structure for you to download. The resulting component doesn’t do anything, but the layout is there, and this allows you to jump right into coding. If you’re interested in these component creator services, here are a few we found (in no specific order):
I wouldn’t go recommending Lendr by Webspark anymore, looks like a dead project. None of the code works on a recent test install I did. Looks like they are focusing on Drupal now anyway’s.