Fineupgrades - Drupal powered product catalog

fineupgrades

Fine Upgrades is a product catalog site for the company, showcasing the distributor’s products, and linking the visitors to any retail outlet that they can purchase the items from. The site is straightforward, with the usual pages, story nodes made into news items, and a few content types to deal with the products, reviews, and dealers.

Acmeweb Solutions’ Galan did the site’s excellent design, while I integrated the layout with Drupal and did all the customization needed.

Content Types and Taxonomy

Most of the work went to the product content type and its link with the review and testimonial types (linked up through a node reference field). Each product is divided into a number of pages. The main product page is comprised of an image field and the node’s body, which serves as the introduction. Product specifications and Q&A’s are just optional textareas that the admin can fill out. The featured photos section and the downloads section is an asset field that has multiple values. The product reviews section basically does a reverse lookup of review nodes that references the product in question. The division of the content type into pages was done through theming node-product.tpl.php to check for certain arguments and displaying the correct content.

Each product is also categorized by product brand and product type, which allows the system to filter them in different ways. For example, clicking on any of the brands on the left sidebar will bring up products filtered by the brand, and categorized by product type. You get the same behavior when clicking the product link on the main navigation except here the site lists the brands first along with their logos.

The review, testimonial, and dealer content types are simpler, with review and testimonial having node references, and dealer being categorized by location. These content types are listed through their respective views (the dealer type filtered by location).

There’s also the featured product content type, which consists of only one node. This content type is made up of 4-6 node references, allowing the administrator to choose which product shows up on the front page’s slideshow. Custom code is used to generate an XML that Slideshowpro can use to show these products.

Assets

The product photos and downloads use the asset module, as apart from its flexibility with the file types that can be uploaded, assets can also be used by multiple products. Some items have the same PDF user manual, so instead of having multiple copies of one manual. Each node can just point to one.

The asset module is a great all-on-one asset management tool and I’m looking forward to using and extending it on my later projects. So far I’ve created a custom asset format (with the help of imagecache) for images that outputs a thumbnail that’s clickable for a bigger thickbox image.

Miscellaney

Main modules for the site :

  • CCK + various cck field types
  • Views
  • Imagecache
  • Asset

Here are some of the other modules used :

  • Panels - only used for the control panel page (it’s a little wasteful to use this module on just this, so I might find other applications for this :) ).
  • Pathauto
  • Simplemenu
  • Taxonomy Manager
  • Taxonomy menu - hacked up a bit.
  • Thickbox
  • TinyMCE

Retrospective

Fineupgrades is a fairly basic brochure / product catalog site, CCK + Views fit the site perfectly as creating the content types and having the site list the nodes in a variety of ways was a breeze with the modules. Looking back I would have used Views a lot more (particularly on the product listing area), and the main image for the product could have been an asset field instead of an image field, to make things more consistent. But those are minor niggles, I’m very happy with how the site turned out and look forward to adding functionality when needed.

Trackback URL for this post:

http://www.chronnus.com/trackback/46
Posted in on May 21, 2008

Post new comment

The content of this field is kept private and will not be shown publicly.