MaximumPC and Maclife Websites retooled & refitted with Drupal 5.
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
- 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.
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
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
MaxPC is an excellent website, didn't realise it was drupal until now, though I had my suspicions!