Posts Tagged ‘css’

Book Review: Joomla 1.5 Template Design

Packt Publishing recently sent me a review copy of Joomla 1.5 Template Design by Tessa Blakeley Silver. Since I read most of it away from my computer, I wasn’t able to work through the examples. While I can’t speak to how well the code examples matched the actual process of building the template, I did enjoy reading the book. Coming in at 259 pages before the index, this book has enough content to cover everything you need to know while not wearing out its welcome.

The strongest part shines in Chapter 2, where Tessa introduces her “Rapid Design Comping” technique. This markup-centric approach helps you get your typography and HTML right first, then goes back and creates accompanying graphics. By getting your basic HTML and CSS out of the way up front, you don’t run into issues where you’ve designed a layout in PhotoShop that doesn’t translate to the web. Her coverage of this method is easily worth the price of the whole book.

Another plus is that Tessa incorporates HTML and CSS validation as a part of your template design workflow. Although having valid markup does not guarantee that your design will display properly in all browsers, it does help you avoid many such inconsistencies from the outset. She also covers common browser hacks (mostly to accommodate Internet Explorer 6) and how to use them as sparingly as possible. Finally, she also dives into avoiding quirks mode rendering and how to handle inconsistent renderings of the box model.

Coverage of Joomla-specific code and techniques is extensive, including custom module chrome and template parameters. She includes a complete reference for all <jdoc:include /> tags, as well as CSS selectors output by the Joomla core. Joomla template-specific PHP is also explained, but without going too deep into code that might confuse people without a programming background.

Despite a strong foundation in the fundamentals of Joomla templating and HTML/CSS, the book does have faults. There are some places where Tessa states something pensively (for instance, date formatting in XML manifests on page 138) which makes you wonder whether or not she’s confident about what she’s describing. Conversely, her description of the Model-View-Controller design pattern is very confidently stated, but slightly inaccurate. Fortunately, she describes the relevant details of View overrides correctly. That said, a more consistent voice would make the book easier to read.

Less forgivable is the introduction of the jQuery JavaScript library in Chapter 8. While she does a good job of showing jQuery’s power and simplicity, not once does she mention that Joomla already includes MooTools. Worse, readers are not alerted to the fact that jQuery will clash with MooTools if you don’t add the proper workarounds. While I love jQuery as much as Tessa does (and perhaps more), I was quite shocked by the omission. It’s quite possible that Tessa hasn’t run into this conflict, but it does happen frequently.

Despite a few missteps, this book is a solid introduction to the ins and outs of building a template in Joomla. All of the standard syntax is covered, along with a practical overview of how to structure your HTML and CSS for optimal browser compatibility. Advanced topics are also tackled head on, making this book the most complete reference for building Joomla templates that I know of. If you need to build a template or are curious about the process, this book should definitely be on your shelf.

You can read a sample of the book from Packt’s website [PDF], or purchase the book there as well.

Basic HTML/CSS Invoices

Yesterday, one of my clients requested an invoice for my services. This is not an unreasonable request by any means, but it is oddly one that doesn’t happen very often. I initially fired up and started writing one, but had difficulty getting the layout I wanted. After OpenOffice crashed (I had an older version), I posted a message to Twitter. Suddenly I had friends suggesting FreshBooks, Zoho Invoice, Billable, and some homebrew solution. Many of these were good suggestions, but I was really just looking for a nice clean invoice template; I already have my own system for tracking hours and payments.

Unfortunately, I have a very bad case of NIH and decided to roll my own using HTML and CSS. Fortunately, it only actually took an hour and I’m quite pleased with the results. So pleased, that I’m now sharing the results for all of the Internet to plunder. Have a look. It is released under a Creative Commons Attribution-Share Alike 3.0 license, so feel free to modify it and use it for invoicing your clients. If you redistribute this in HTML form, please maintain the copyright notice in the comments. If the final medium is a PDF export for printing or emailing to a client, you do not have to maintain the copyright notice.

I created a PDF of this using my Mac’s “Save as PDF” function under “Print…” on Firefox 3.5 and it worked perfectly. Safari wanted to print headers and footers with the source URL and didn’t pick up my backgrounds. I have not tested this in Internet Explorer.


Creative Commons License
Basic HTML/CSS Invoice by Joseph LeBlanc is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

New Joomla! videos

Last Friday, released another volume of Joomla! videos created by Jen Kramer McKibben. Now, in addition to watching videos about all of the major content management systems, you can also learn how to create Joomla! templates and CSS with Jen. Head on over to now and preview some of the free videos.

Chinese New Year’s resolutions

In January, my New Year’s resolution was to make more resolutions today: Chinese New Year. Solely because Chinese New Year is more than a month later.

So here goes:

  • Go electronic/automatic with as much of my record keeping and business handling as possible. There are a lot of things I could be doing electronically but have still been doing on paper or through the mail. Also, I need to come up with a better system for handling recurring tasks and scheduling. If it comes down to it, I may end up with one of these or these. (sigh)
  • Rewrite the Daily Message tutorials, Podcast Suite, iWebCal, and my book to catch up with Joomla! updates. The latter should come out first.
  • Validate all of the markup on Last year, I finally got on the whole semantic web bandwagon and haven’t fallen off yet. What was the catalyst for all of this? jQuery. When I saw how it was all CSS selector-based, DOM programming and the benefits of validated markup simultaneously made sense. The pursuit of validation is also helping me maintain Section 508 compliance at work.
  • Blog more and worry less about writing essays. When I started blogging, I actually wanted to start a site where I would keep a repository of opinions on specific topics, refined over time. This doesn’t really seem to work as people are much more familiar with off-the-cuff blog posts.
  • Incorporate.
  • Launch a major web-based service. Oh, so you’d like to know what’s cooking at Chez LeBlanc? You’ll just have to wait and see ;)