|
Main (PHP)
3rd Party Streams
Resources
Code Snippets
Affiliates
|
|
|
| |
Joomla Customization |
| By admin (2008-09-11. 7567 views.) |
I have been working on a project that was spec'd to use Joomla as the underlying CMS. |
|
There are a couple of parts to any Joomla project:
- template customization
- data storage
- modules
- article editing
Template Customization
This is a pretty standard step for Joomla projects. Take a template that is at least kind of close to your new layout, copy it and start modifying the your new template.
I would have like to have worked on some nice clean layout for this. Instead, but I wonder if not typical, the new layout needed to support about 20 different screen layouts. The typical template handles 1. Yes, you can move item groups from one part of the page to another, but the parts of the page are defined.
So, what I ended up doing was ripping apart the index.php file of the template and handling a giant switch statement based on the layout that a particular page needed.
It turns out the API for accessing the underlying database is very clean and works. Once I got the idea about handling all the layouts then things worked pretty nicely.
The other underlying part of a template is the new age idea of table-less layouts. Very cool until you try to do something interesting like multiple scrolled sections within a particular layout. The css has to accomodate different browsers and really doesn't work when you get that technically challenging. I ended up with tables for these parts with spacer gifs, horizontal and vertical, that force the layout to be the right size for these areas.
This ends up looking a lot like a PHP project developed before the use of templates like SMARTY.
Data Storage
Joomla provides a simple 2-level data structure, section and category. All 'articles' or pieces of data need to fit into this scheme.
This is a problem when you have something easy like an employee page that has people in different roles with different attributes based on the role.
I ended up with a bunch of categories that really are just links between articles. For example, there is an employee title category where the Joomla title is the person's name and the article content is the text for actual employee title. I am using the built-in Joomla alias generation to match up the title with the bio with the ...
At some point the customer will have their staff maintaining the data in the site. I would not like to be that person.
Modules
There are quite a few modules out there for Joomla. However, there are two problems: 1) what version of Joomla is supported and 2) ANY kind of support, documentation etc...
It's a new project so I pulled the latest Joomla. This means that a large percentage of the modules out there are not available to you. That stinks.
Once you find a module that looks like it may support what you are trying to do, you install it, change the config as needed and expect it to work. I have only run across a few that really work out of the box.
Once you realize it doesn't work you poke around. For some reason you think I will be able to just google this problem and find an answer. Your mind blocks the issue that it took you a week searching google to find the module in the first place. What is the reasonable expectation for finding a fix to your problem?
Article Editing
A big feature of Joomla is the built-in use of editors, like tinymce. Very cool stuff, however a side-effect of Joomla (that you can shut off) is the automatic 'cleaning' of article content.
This means your really cool WYSIWYG article layout will be completely mangled by the editor once you hit Save.
For me that means pulling all of the formatting/style/css out of the article and into the index.php template; shutting off the auto cleanup by the editor and effectively storing text blobs in the article.
Seems kind of silly.
Summary
I am not sure what Joomla ends up offering a complex web site. If you have some vanilla article publisher or other simple design I think it will work out of the box.
If you have a complex design or interesting data element organization then it feels like you would be better off do something completely home grown. |
| |
|
| |
|
|
|
|
|
|
|
|
Top Sponsor
Sponsors
Sponsors
Advertisting
Affiliates
|
|