EXIF in NextGenGallery-Thickbox einbinden

Hi,

NextGenGallery ist ziemlich cool zur Bilderverwaltung. Leider hat sie einen großen Nachteil: Man bekommt EXIF-Daten nur in der Bilderbrowser-Ansicht angezeigt. Will man sie in der normalen Bilderliste – die durch die Thumbnails sehr schön übersichtlich ist – haben, muss man sie entweder in den ALT-Tag der Links legen (sodass man sie beim Darüberfahren mit der Maus angezeigt bekommt), oder man schreibt sie in die Description der Thickbox. Letzteres Verfahren gefällt mir am besten, erfordert aber ein paar Änderungen an der Datei /wp-content/plugins/nextgen-gallery/view/gallery.php.

Zuerst muss man wissen, wie NGG mit den EXIF-Daten umgeht. Es gibt eine Variable $images, welche alle Informationen über die in der Gallerie vorhandenen Bilder enthält. In jedem $image von $images steckt wiederum $image[meta_data]. In meta_data stecken dann endlich solche Dinge wie aperture, focal_length und so weiter, an die wir heranwollen.

Wir müssen also zunächst die EXIF-Daten beschaffen. Dazu greifen wir bei der Thumbnail-Routine ein. Hier steht im Original:

<!-- Thumbnails -->
<?php foreach ( $images as $image ) : ?>

Direkt darunter ergänzen wir nun unseren Hack:

<!-- HACK LIEST EXIF DATEN EIN -->
<?php
	$exif = array();
	foreach ($image->meta_data as $key => $value) {
			$exif[$key] = $value;
		}
	$newdescription = "<b>".$exif['camera']." - ".
	   $exif['focal_length']." - ".$exif['shutter_speed']." - ".
	   $exif['aperture']." - ISO ".$exif['iso']."</b>";
?>
<!-- HACK IST FERTIG MIT EINLESEN DER EXIF DATEN -->

Jetzt haben wir ein Array $exif mit allen unseren Werten drin. Und wir haben die Werte auch gleich in einen String namens $newdescription geschrieben, der uns die wichtigsten ausgibt. Wer die Reihenfolge, Optik oder Art der Einträge ändern will, kann einfach die Stringbefüllung von $newdescription nach seinen Wünschen abändern.

Nun müssen wir $newdescription nur noch einbauen. Dazu müssen wir weiter unten noch was ändern:

<a 	href="<?php echo $image->imageURL ?>" 
	title="<?php echo $image->description ?>" 
<?php echo $image->thumbcode ?> >

Das ändern wir folgendermaßen:

<a 	href="<?php echo $image->imageURL ?>" 
	title="<?php echo $newdescription ?>" 
<?php echo $image->thumbcode ?> >

Voilà, das war es schon. Wenn ihr alles richtig gemacht habt und eure Version von NextGenGallery nicht massiv anders funktioniert als meine jetzige, dann habt ihr nun eure EXIF-Daten unter der Thickbox, wenn ihr ein Thumbnail anklickt. Das sieht dann so aus:

[nggallery id=4]

8 Kommentare

  1. Pingback: Links
  2. Hi,

    sorry für die späte Antwort, völlig übersehen. Die Beschreibung von NGG kann man weglassen, wenn man die aus EXIF benutzt (wenn es da eine gibt?). Zeilenumbrüche kann man vermutlich ganz normal als HTML-Code mit
    einfügen, wenn das denn im title-Feld funktioniert. Müsstest du ausprobieren.

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.