I purchased the DJ-Promedical template from joomla-monster.com. Here are some thoughts now that I’ve been using it for a while.
Not a Joomla! 1.5 Template
The first thing is that this is not a Joomla! 1.5 template, despite what joomla-monster.com says. The template’s code contains many references to the Joomla! 1.0 API, and these references will cause errors under Joomla! 1.5. I had to modify the code to get rid of the errors, mostly by adding calls to the PHP functions isset() and is_array(). If you fix a few problems, the template should work under 1.5.
Update June 1, 2010: I’ve reevaluated this and decided that I was wrong, though there are still issues. See Review of DJ-Promedical Template for Joomla!, round 2
Visual Appeal
Visually, the template is nice. It was the most attractive of all of the medically themed templates that I found. It doesn’t look exactly like the screenshot (see the search area in the top right corner), but that may be due to differences between Joomla! 1.0 and 1.5, plus artifacts and color changes resulting from the compression of the image. I particularly like the stock photo that was chosen for the banner area. Depending on the size and resolution of the visitor’s monitor, the default font size might be a hair too small, but that’s easy enough to correct.
Documentation
There isn’t any. That’s really disappointing, considering that the other templates I’ve bought, and even some of the free ones have come with documentation. This is particularly annoying since it uses a special module for the top menu and doesn’t explain how to use it.
Update May 30, 2010: A representative from Joomla Monster posted a link to the documentation in a comment below and stated that it’s linked from the bottom of the template description. I checked and so it is. I would suggest, however, that including the documentation in the downloaded zip file would enable people to find it more easily.
The Top Menu
After messing around for a while, I finally figured out how to use the top menu module, mod_djmenu. It turns out that, like the Superfish extension, you simply point it at an existing menu using that menu’s unique name. Here are the steps:
- Click on the Menus menu and select Menu Manager.
- Click on the menu that you want to use as your top menu. If you don’t have one, create one.
- Get the value from the Unique Name field.
- Click on Save or Cancel as appropriate to get out of that window.
- Click on the Extensions menu and select Module Manager
- You’ll see a module named djMenu. Click on it.
- On the right side, under the Module Parameters area, you’ll see a field labeled “Menu name”.
- In this field, type the unique name of the existing menu from step #3.
The CSS
I haven’t had any real problems with the CSS so far (unlike some other templates), though there are some inconsistencies. For example, some styles set the font size using em units, while others use pixels. Now there are times when this would make sense (e.g. using pixels so that a style fits against a background graphic, while using em units elsewhere for more flexibility), but that didn’t seem to be the case here. Also, most of the CSS files have sensible names (e.g. typography.css), but the main file appears to be named after the author. Why?
The PHP Code
As I mentioned above, this template was written for Joomla! 1.0 and will generate some errors and warnings under Joomla! 1.5. The code was written for PHP4, which is reasonable since that’s the minimum version required by Joomla!, but it would have been a good idea to run it through php -l using PHP5 to check for issues with the newer version, since that’s what most hosts have been running for a few years. I also found at least two logic errors in the original code that have nothing to do with the version of PHP.
In addition, the code is badly formatted in places. I’m not talking about preferences like brace placement. There are serious inconsistencies in indentation, even within a block. For example, a line within an if statement might be indented less than the containing statement. There are also sections of code with large blocks of blank lines. Of course most people are not going to look at the code of a template, but still, a programmer should try to code well.
Other Issues
Another issue that I found was the missing “breadcrumb” module position. The template contains an area for a breadcrumb module, but that position is missing from templateDetails.xml. As a result, it doesn’t appear in the list of possible module positions in the interface. When you go to add a breadcrumb module, you have nowhere to put it. Editing templateDetails.xml solves the problem, but it’s quite an oversight.
Conclusion
I’m happy with the way the template is turning out, but it would be nice if the vendor either advertised it correctly as a 1.0 template or took the time to upgrade it to 1.5 support removed the 1.0 API references. Also, the PHP should be checked by someone competent for errors and decent code formatting. As I use more and more stock templates, I’m discovering that a lot are pretty, but roughly or even poorly implemented under the hood. The frustrating part is that most people will never know the difference, so it is likely that the situation will not change.