Why Joomla Flatly Sucks
This is copied from here, and it’s a year old. More than a year old. But the sentiment mirrors my own opinion of Joomla almost exactly. I’ve been working in Joomla for almost a year, and it still makes very little sense to me. If honestly believe most Joomla sites could be made using Wordpress. And in about half the time.
I’ve spent a few days straight putting together a site from scratch in Joomla 1.5 > template design, structure, database, plugins, the works, and I have come to the simple conclusion that…
For any self-respecting, semantic-driven, web development: Joomla, flatly, sucks.I mean, it can’t even make up it’s bloody mind. A header, for all intents and purposes, should be a header. It should be wrapped up in <h#> tags, then appended with an id or class, but with Joomla? Depending on your selection, it is either:
- Placed within a non-editable span within a div which uses a global class
- Placed within a non-editable span within a non-editable table cell within a non-editable table row within a non-editable table body within a table which uses a global class
- Placed within a generic global header
- and so on and so forth…
If that wasn’t bad enough, Joomla inserts inline styles and comments that were not included in your css or your template.
Let me give an example:
Code:<table class="contentpaneopen_news">All the highlighted code above are what Joomla creates for you. Not by your choice either.
<tbody>
<tr>
<td class="contentheading_news" width="100%"> News </td>
</tr>
</tbody>
</table>
In fact, I even had to write out JS to simply clear out all the pre-made in-line styles that Joomla inserted into the HTML output. It is never a good thing when, instead of being able to say <element class=”black”> to do the customizing in the stylesheet, you actually have to write out document.getElementById(‘elementid’).removeAttribute(‘attribute’), and THEN insert an attribute (a custom class), just so that you control that element from the stylesheet.
That’s just utter rubbish.
And that is from Joomla 1.5 -> the joomla that is supposed to be as table-less as possible.
td class=”contentheading”??? WTF is that? what happened to “<h1></h1>”?
Please bear in mind, pro-Joomla devs, that I do know what <jdoc:include type=”-insert what you wish” name=”your_name” style=”none” /> is for. That only works for modules, and is only marginally better.
Components are a whole different problem, and personally speaking, if the CMS was supposed to be “modern, semantic, and light”, why the hell do I need to build a component from scratch just to be able to control the basic HTML output?
Yes, as most of you can assume, I was paid to build something in Joomla. What an awfully frustrating two days.