Yesterday, I managed to get our podcast page to look like the rest of our site. One consequence of the popularity of blog software and other content management systems is that it’s easy to adopt the templates of the new software, because they tend to be okay (especially in the case of blog software), and it requires an additional step to change them. On our internal sites, I don’t mind some visual inconsistency, because these sites are intended primarily for our internal audiences. For example, our home page, library site, forums, and photo gallery all use different templates.
For our external, public site, the story is completely different. Our public face is a marketing piece designed to attract applicants, alumni, and prospective employees. The visual look does have to be consistent. Luckily, the Nucleus blog software I use for our podcast page has a very flexible skins/templates structure. Check out the resulting page, for which I copied the HTML from our main site and substituted Nucleus skin variables in the proper places.
The only catch was understanding the relationship between skins and templates in Nucleus. Skins drive the process, containing all of the HTML for the page wrapper — the main design of the page. However, the content itself is formatted using templates. So you call a function and a template from a skin. For example, the UHS skin I created contains the function
<%blog(UHS|20)%>, which tells the software to display the first 20 blog entries using the UHS template. This template formats the pieces of the blog entries, such as the title, date, and body. There is an additional level of template formatting: when you call another function such as
<%date%>, you must specify the date format in another part of the template, in order to define how the date is formatted. Otherwise, the date just comes up empty.
Although the built-in templates are great, full control allows you to fully integrate a content management system with the other components of your web site.