The imagefield module, which depends on imageAPI and filefield, provides a CCK field for images. With the imagecache module it is possible to automatically crop or resize an image for a given preset, and cache the result for later use. In combination with views it is possible to create an image gallery. With the thickbox module you will get a nice JQuery popup for displaying an image. With taxonomy you can create multiple galleries by assigning each image to a specific gallery. See: for a detailed description on how to do all of this.

The problems I encountered:

  • the content module must be enabled before filefield and imagefield or you will get an error
  • in the thickbox module settings, set the image field gallery to Per page gallery, otherwise you will miss the previous and next buttons in the thickbox popup.
  • To display each thumbnail next to each other, use the unformatted style in the views settings, and set the row style to inline fields. Then use the following CSS code to prevent linebreaks:
    div.view-yourviewname div.views-row-odd, div.view-yourviewname div.views-row-even {
       display: inline;


The following issues have been fixed. If you use an old version of some of the modules, you may run into these issues:

  • in the module filefield there was a bug which resulted in an empty image title. See
  • in the modules imagefield, imagecache and even thickbox there was a bug in the *formatter hooks where they forgot to unserialize $item['data'] which resulted in an 'a' appearing in the title and alt fields. Before the first time use of $item['data']['title'] etc., use the following code:
    if (is_string($item['data']))
       $item['data'] = unserialize($item['data']);
    At you can see how this fix is applied to imagecache. Note that imagefield, thickbox and other modules had the same issue.
  • In order to get thickbox to display some info about the image, set the image title, which is different from the node title. You can sync the node title with the image title, using the module automatic nodetitles. Use:
    print $node->field_image[0]['data']['title'];
    Enable the PHP filter module in order to be able to enter the PHP code above.