This tutorial provides instructions for converting a Joomla! 1.0.x template to run in Joomla! 1.5 native mode. The classic rhuk Solarflare II template is used to illustrate the steps one must take to accomplish this task. Rhuk's Solarflare II is one of the most popular templates ever for Joomla! and before that for Mambo. It was included in the initial Joomla! 1.0.0 release and before that with various releases of Mambo. I do not recall exactly when the initial version of Solarflare II first appeared. The version I used as baseline for conversion to Joomla 1.5 is dated November 2, 2004. A very telling tribute to its success is the many sites that still use it to this day and the number of "forks," or variations that one sees powering a ubiquitous and diverse set of sites. The last time I did a Google search on "rhuk Solarflare," I got about 78.5K hits. Pretty impressive!
The following is an illustrative example of an index.php file for a Joomla! 1.5 template. It is based on an actual working index.php file compatible with Joomla! 1.5 Production/Stable, 22 January 2008.
The template_css.css file contains the Cascading Style Sheet (CSS) used in conjunction with the index.php file, the Joomla! functions that generate xHTML code for core components, modules and plugins, and,in many cases, third-party extensions. The subsequent text discusses CSS in the context of its role in Joomla! 1.5 . It assumes that the reader is "CSS-Literate." If you are not familiar with CSS and wish to learn something about it, I recommend you do a Google on "CSS" ... you will find more on this subject than you can read in a lifetime.
Joomla! 1.5, like its predecessors, has a set of default CSS classes and ids that it uses when rendering the standard views. One significant new feature is that a "suffix" can be defined for just about every CSS class recognized by the Joomla! 1.5 core. Joomla! 1.0.x modules have had this feature for quite a while now and in Joomla! 1.5, it has been extended to cover the general case. Use of suffixes provides the ability to assign different styling on a per-page or per-module basis.
- Default CSS classes – this is a PDF file containing a list of CSS classes generated by the Joomla! 1.5 core
- Default CSS ids – this is a PDF file containing a list of Joomla! 1.5 CSS ids generated by the Joomla! 1.5 core
After reading the above, those familiar with the Joomla! 1.0.x series are probably thinking "Big deal, nothing new here!" Not true! In Joomla! 1.0.x, although it was not widely advertised, one could override the default content view. In Joomla! 1.5, this capability has been extended to allow custom views based on individual content types (e.g., articles, newsfeeds, weblinks, etc.). And, in doing so, one can also define custom CSS classes for use in lieu of the defaults. And, if so inclined, replace the default table-based layout structures with div-based layouts.