Drupal foto album met Image module en Imagecache

Naar aanleiding van een reactie op de blogpost over hoe een foto-album aan te maken in Drupal, ben ik aan het testen gegaan om een foto-album te maken dat ook sub-albums kan bevatten.

De Image module voor Drupal bevat standaard deze functionaliteit reeds, maar heeft dan als enig minpunt dat het (nog) niet overweg kan met ImageCache presets.

Daarom ging ik verder op zoek naar een oplossing om in de Image module toch gebruik te kunnen maken van ImageCache. Eerst dacht ik hiervoor aan de module Views Custom Field waarmee je binnen Views je eigen velden kan aanmaken met waardes die je zelf kan manipuleren. (Zie Drupal Views output manipuleren)

Voor de album weergave was dit alvast geen probleem en vroeg dit slechts enkele kleine wijzigingen in de meegeleverde view 'image_gallery' bij de Image module. 

Eerst maken we volgende relaties aan:

  • Afbeelding (File)
  • Afbeelding (Node)

Volgende stappen bij de velden:

  • Verwijder het veld afbeelding
  • Voeg het veld image File pad toe en zet dit op "Exclude from display"
  • Voeg een "Custom Field PHP code" toe met daarin volgende code (image_thumb vervangen door de gewenste preset naam)
<?php
$image_src = $data->files_image_filepath;
$imagecache_preset = "image_thumb";
$image_title = $data->node_image_title;

if(file_exists($image_src)):
  print '<a rel="lightbox[album]" href="' . base_path() . $image_src . '" title="' . $image_title . '">';
  print theme('imagecache', $imagecache_preset, $image_src, $image_title, $image_title);
  print '</a>';
endif;
?>

Eenmaal dit in orde is kan je de thumbs laten tonen door een ImageCache preset te gebruiken.

Maar voor de cover afbeelding van het album leek dit niet zo evident te zijn om het juiste pad te krijgen voor deze afbeelding, na verschillende pogingen ging ik terug op zoek bij de issues voor de Image module.

Bij het lezen van die issues bleek dat men wel degelijk aan het werk is voor ImageCache integratie in de Image module mogelijk te maken, dit blijkt uit enkele patches die geschreven zijn en de hopen reacties. Daarop heb ik deze patches uitgetest en jawel deze bleken perfect te werken en geven de Image module de mogelijkheid om afbeeldingen te tonen op basis van ImageCache presets.

Lees de post 'Patches toepassen op Drupal modules' om te zien hoe je deze juist kan patchen.

Omdat ik het zelf jammer vond dat er geen View meekomt met de module Image die het je mogelijk maakt om je afbeeldingen gemakkelijk te beheren, heb ik er zelf nog eentje samengesteld. 

Alle afbeeldingen worden netjes in een tabel getoond met de nodige info, maar ik heb er ook Views Bulk Operations bij gebruikt om bv eenvoudig afbeeldingen van galerij te kunnen verplaatsen.

Wanneer je bv afbeeldingen verkeerd geplaatst hebt en ipv ze één voor één te moeten openen en aanpassen kan je dit nu in 1x doen. De View hiervoor kan je hieronder als bijlage downloaden, let wel dat je hiervoor ook de module Views Bulk Operations (VBO) dient te installeren.

Image beheer

Labels: 

Gerelateerde inhoud: