MaximumPC and Maclife Websites retooled & refitted with Drupal 5.

emackn - July 11, 2008 - 19:14

Maximum PC and Maclife were already using drupal for their websites. Now they have both been upgraded to Drupal 5 and are ready for the world.

I grouped these sites into one post since they were developed in parallel and launched a week apart. Both sites made use of the same custom modules, and alot of the views were reused.

Layout & Navigation

Several methods of navigation are used throughout the site. The different types break down like this:

  • Uses Two taxonomies, one for general content, and the other is a freetagging keyword vocabulary.
  • Primary Nav - main site navigation
  • Secondary Nav - free tags
  • Slideshow - 3 box scrollable pane that highlights certain items
  • Section blocks - lists 5 recent aritcles in those sections, driven by view
  • Related aritlces - when viewing an aritlce, if it has node references, they are displayed, driven by view.
  • Related Categories - any categories that the article belongs too are highlighted here.
  • Primary Term

Here are some annotated images of the different areas mentioned above:
The Home Page
An article detail page.

Pretty standard layout, except for the middle column. It is floated so that the content wraps around it.

To get it working I created a region

<?php
function maximumpc_regions() {
 
$default = phptemplate_regions();
  return
array_merge($default,
    array(
     
'slideshow'     => 'slideshow',
     
'content_float' => 'floating content',
     
'front_float'   => 'floating front',
     
'top_subscribe_block'   => 'top subscribe',
     
'knock_knock_block'     => 'knock knock'
    
)
   );
}
?>

added that region to available variables at the node level
<?php
function _phptemplate_variables($hook, $variables) {
  if(
$hook == 'node' && !$variables['teaser']) {
    foreach (array(
'content_float') as $region) {
     
$variables[$region] = theme('blocks', $region);
    }
  }
  ...
  return
$varialbes;
}
?>

and then just called the variable from within the views theming funciton
<?php
function maximumpc_views_view_list_articles($view, $nodes, $type){
 
$output = "<div class='general' id='content-list'>";
 
$output .= "<div class='list_floater'>";
 
$output .= $content_float;
 
$output .= "</div>";
  ...
?>

or the page template.
<div class='article'>
  <div class='content-float'><?php print $content_float?></div>

  <span class='general-header'>
  ...

Ads, Ads, Ads

As visitors, We may hate them, but the reality is that without them, you wouldn't get free content. For Maximum PC, The ads are driven by the free tags and primary categories of the displayed article, Which is very useful for targeting ads to certain content.

Contributed Modules

  • admin_menu
  • cck, with date, email, imagefield, link
  • find path
  • forward
  • imagecache
  • imce
  • jquery update
  • jstools calendar
  • nodewords
  • paging
  • pathauto
  • phpbb
  • primary_term
  • print
  • scheduler
  • service links
  • spam
  • taxonomy manager
  • thickbox
  • tinymce
  • token
  • update status
  • views

Custom Modules

  • patch to add slashdot to service links
  • ad rotation
  • magazine subscription
  • imagebutton
  • custom site search
  • keyword migration from one cck field to free tag vocabulary
  • site variables - allows definition of site wide variables to use within the theme
  • view alias - now a drupal contributed module

Biggest Hurdles

Two things stick out, we had issues after migrating the data, all the nodes that were paged, no longer displayed pages #258014: Upgrading from Drupal 4.7.2 to 5.7 breaks paging. The other thing was with migration of existing content keywords into a free tagging taxonomy. We wrote a module to help us with that.

The Client

Future US is a leading publisher of special-interest magazines and websites and one of the fastest-growing media companies in the US. With market-leading publications in the Games, Music, Technology, Action Sports and men's and women's special-interest markets, Future's targeted publications reach a young, active, affluent and highly influential audience.

About Phase2

Phase2 Technology is a leading provider of open source web software solutions, application development and consulting services. The company specializes in content management systems, content exchange, fundraising and CRM, online community development and custom web application development. Phase2 practices the Agile Approach, a unique blend of open technology and agile methodologies to improve the delivery time and quality of software solutions. Phase2 is nationally recognized for expertise in the implementation of non-profit, media and publishing solutions using open source technologies including Java and the Drupal content management platform.

Both are really nice sites.

eorr - July 12, 2008 - 01:03

Both are really nice sites. I really like the way the forms are styled at the bottom of both sites.

www.drupalmuseum.com
www.organicsitedesign.com

Good job with MacLife redux

cmckay - July 12, 2008 - 02:28

Hey,
great job with MacLife redux! Are you using fpss on your home page for the rotating images?
Here is our implementation of it - the page is still in beta so the links may not work - but it will be live soon http://www.myappleguide.com/entertainment .

www.myappleguide.com

MaxPC is an excellent

iamwhoiam - July 19, 2008 - 11:53

MaxPC is an excellent website, didn't realise it was drupal until now, though I had my suspicions!

 
 

Drupal is a registered trademark of Dries Buytaert.