When I landed my 1st major project for Webmuch I had no idea how I was gonna complete it. All I knew was that it had a lot to do with managing and searching users. I, in the haze of getting the project in hand just blurted out: “This can be done in Joomla!”. At that point I had no idea how to make Joomla! work, how to theme it, what extensions would I need.
Even though I had committed to make the site with Joomla! I ended up spending a lot of time deciding which CMS could be the best for the job. Of course there were only 3 I was hanging between: WordPress, Joomla! and Drupal. My concern was which one of these is most extendable. I ended up using Joomla! because it seemed easier than jumping into Drupal and more complex than the simplicity of WordPress.
In the long run of things somehow Joomla! along with the Community Builder extension just worked out for me. In the process though, I made a lot of mistakes. With this article I hope I can save you a few pitfalls. According to me these are the top 5 joomla pitfalls to avoid:
1. Read Read Read
Coming from a WordPress background, when I started working with Joomla I figured “how hard could this be”. As it turns out pretty hard if you don’t read the docs at all. I managed to install Joomla very easily. After all I am a PHP developer. At this point I had no idea what the difference between module, component and plug-in was. I wasted 5 days with trial and error methods failing to do most of what I wanted, after which I decided: I should really read the docs.
2. Template Overrides
After theming for WordPress for years it was very different to figure out a new method of theming. Joomla! does not have different files for different blocks of the site. In fact the Joomla! theme has only 1 layout file: index.php.
I knew that it couldn’t all just been in one file. After reading up a lot I finally figured out how to use template overrides. This was a completely new concept for me. When I 1st figured it out I said “that’s so clever”. It is.
What you do is: Find the template of whatever module, component or plugin you wanna theme and copy that folder into HTML folder of your theme wrapped within a folder with the same name as the module, component or plugin. Whatever changes you do to this template to reflect on the website without making any changes to the original file.
3. Modules, Components and Plug-ins
Before starting your work make sure you understand the main differences between modules, components and plug-ins.
Component: Official Joomla! docs explain components as mini applications that can create and delete content of different types.
Modules: Module are the extension type that can show data in different forms. They mainly work with page rendering.
Plugin: Plug-ins are event based extensions. They perform certain task when a certain event occurs. It is basically used for triggered programming.
4. Menu System
In Joomla! the menu system can be extremely confusing.
- A menu is made using the menus component, but is displayed using the module position on the template. Simple enough!
<?php if ($this->countModules( 'mainMenu' )) : ?>
<jdoc:include type="modules" name="mainMenu" />
<?php endif; ?>
- Apart from this the most dynamic block of your site where all the blog posts are displayed, or a single article is displayed is also a menu. Yeah I know, it is confusing. Whichever menu you set as default will be displayed on the main block of the template.
Main block of the template:
[html]<jdoc:include type="component" />[/html]5. Content Creation Kits
I didn’t need multiple types of content for my project. That said, it would’ve been nice to know about K2 Content Extension. Maybe I would’ve done a few things differently. Joomla’s default content creation is a simple one. K2 helps make it more complete with different types of content. Image galleries, Media, etc. Not a requirement for every Joomla site, but a great option to know about none the less.
Bonus Tip
Akeeba backup is your friend. Nuff Said!
I hope this article has been a helpful read. Share your own tips in comments below.
Thanks for reading.
Comments 2
Great tips advised, good to keep in mind. Thanks for a useful article.
Nice tips, a lot has changed in Joomla no longer do you need to override a lot of stuff.