Tipps für Buchblogger: Cover von buchhandel.de einbinden mit Drupal

Für Buchblogger gibt es leider ein kleines rechtliches Problem: Auch Cover von Büchern sind normalerweise Copyright-geschützt und können nicht unbedingt einfach so im Blog eingebunden werden. Manchmal sind sie auch gar nicht so leicht zu bekommen – insbesondere, wenn man ein Buch als E-Book gelesen hat und nicht einfach das Cover abscannen kann.

Ich kenne zwei mögliche Lösungen: Die erste ist Amazon. Das Partnerprogramm bietet „Widgets“, die einfach in einem iframe in den HTML-Code eingebunden werden. Für jede Bestellung gibt es eine kleine Prämie.

Ich möchte jedoch nicht mehr zu Amazon verlinken und habe mich auf die Suche nach Alternativen gemacht. Der einzige Service, den ich bis jetzt gefunden habe, ist der von buchhandel.de. Dort gibt es zwar kein Geld, dafür aber die Cover sogar in verschiedenen Größen zum Einbinden in den eigenen Blog. Bedingung: Verlinkung auf buchhandel.de, wo die Leserinnen und Leser dann wiederum bei ihrer angebundenen Buchhandlung bestellen können.

Die Anmeldung des eigenen Blogs erfolgt über die Seite http://info.buchhandel.de/blogs/unser-angebot-fuer-blogger.html

Nach der Registrierung erhält man eine kurze Anleitung, wie Cover eingebunden werden. Diese Anleitung findet man auch im Menü der oben erwähnten Seite. Letztlich benötigt man dafür nur die ISBN. Die ausführliche Anleitung gibt es auch unter diesem Link: http://info.buchhandel.de/handbuch_blogs

Mit einem kleinen HTML-Schnipsel ist das Cover schnell eingebunden. Es geht jedoch noch einfacher: Mit Drupal.

Speziell für Drupal

In Drupal habe ich mir einen eigenen Inhaltstyp „Buchrezension“ angelegt. Dieser beinhaltet neben Feldern für Autor/in, „Kuschelpunkte“ usw. auch ein Feld „ISBN“. (Einstellungen: Textfeld, Klartext, Maximallänge 14 Zeichen, unbegrenzte Anzahl.)

Und jetzt kommt der Trick: Drupal (7) ermöglicht es, die Ausgabe eines Feldes beliebig zu verändern. Dazu ist ein wenig PHP nötig.

Legen Sie eine Datei mit dem Namen field--field_isbn.tpl.php an und speichern Sie sie auf dem Server unter sites/all/themes/(Name-des-Themes/templates. Der Inhalt der Datei:

<?php

// $Id$

 

/**

* @file

* Outputs contents of form node types

*

* @see template_preprocess_node(), preprocess/preprocess-node.inc

* http://api.drupal.org/api/function/template_preprocess_node/6

*/

?>

<!-- start field--field_isbn.tpl.php -->

<?php foreach ($items as $delta => $item): ?>

<a href="https://www.buchhandel.de/buch/<?php print render($item); ?>" title="Buchhandel.de" target="_blank"><img align="right" src="http://media.buchhandel.de/cover/<?php print render($item); ?>/<?php print render($item); ?>-cover-m.jpg" alt="buchhandel.de"/></a>

<?php endforeach; ?>

 

<!-- end field--field_isbn.tpl.php -->

Dies fügt für jeden ISBN-Eintrag (wenn mehrere vorhanden sind) ein Coverbild in der Größe „m“ ein (für kleinere oder größere einfach statt cover-m-jpg cover-s-jpg oder cover-l-jpg schreiben). Statt align=“right“ wie bei mir darf da natürlich auch align=“left“ stehen – oder sonstige Formatierungsanweisungen. Nach dem Hochladen der Datei einmal den Cache der Website löschen, fertig.

Hier gibt's die Datei für das Theme zum Runterladen:

http://www.kuschelkirche.de/field--field_isbn.tpl.php.txt

(Bitte die Datei umbenennen und die Endung .txt entfernen; eine PHP-Datei kann von meinem Server nicht heruntergeladen werden.)

Metatag

Fürs Teilen auf Facebook, Twitter etc. ist das Modul „Metatag“ sehr sinnvoll, denn es hilft, zu bestimmen, wie der geteilte Beitrag dort angezeigt werden soll. Auch hier ist es möglich, bei „Bild“ das Cover einzubinden. Machen Sie am besten gleich eine Voreinstellung für den neuen Inhaltstypen und geben Sie dort, wo der Link zu einem Bild eingegeben werden soll, folgenden Code ein: http://media.buchhandel.de/cover/[node:field_isbn]/[node:field_isbn]-cover-l.jpg

Im Abschnitt „Open Graph“ kann man auch noch die ISBN angeben: [node:field_isbn]

Fertig ist die Twitter-Card und die Facebook-Vorschau! Alles vollautomatisch aus der ISBN erzeugt.

Achtung: Wegen eines Fehlers im Modul Metatag funktioniert das nur, wenn lediglich eine einzige ISBN angegeben ist. Entweder nehmen Sie grundsätzlich nur eine ISBN oder Sie denken daran, immer dann die ISBN an den entsprechenden Stellen von Hand einzutragen, wenn ein vorgestelltes Buch mehrere ISBN hat.

Views

In Views habe ich das Feld „ISBN“ eingebunden, indem ich „die Ausgabe des Feldes neu definieren“ ausgewählt habe. Folgenden HTML-Code verwende ich:

<a href="https://www.buchhandel.de/buch/[field_isbn]" title="Buchhandel.de" target="_blank"><img src=" http://media.buchhandel.de/cover/[field_isbn]/[field_isbn]-cover-s.jpg" alt="buchhandel.de/"></a>

So sieht das aus:

Beim Anlegen einer neuen Rezension:

... wird dann automatisch so angezeigt:

 

Viel Erfolg!

Mein Buchblog:

http://www.kuschelkirche.de/buchbesprechungen