Drupal CMS: Individuelle Werbung für nodes in Blocks definieren

Wenn Sie mit Werbung auf Ihrer Webseite Geld verdienen wollen, dann müssen Sie dafür sorgen, daß die eingeblendete Werbung auch zum Inhalt der aufgerufenen Seite paßt. Je besser die thematische Übereinstimmung von Content und eingeblendeter Werbung ist, desto eher animieren Sie die User die Werbeangebote auch zu nutzen. In diesem Tipp zeigen wir Ihnen, wie Sie mit den bekannten CMS Drupal (ab Version Drupal 5.x und höher) bestimmte Werbeeinblendungen einem konkreten Content (hier nodes genannt) zuordnen können.

Das Drupal-Modul für Amazon bietet die Möglichkeit Bücher, CDs und DVDs nodes zuzuordnen. Was mache ich aber, wenn ein anderes Produkt bewerben will, vielleicht eine Mischung aus Amazon, Google Adsense und anderen Anbietern?

Das CCK-Modul von Drupal (CCK) bietet die Möglichkeit ein Text-Feld einzufügen. In dieses Textfeld können Sie den Werbecode für eine konkrete „node“ einfügen.

Wie lege ich ein CCK-Feld an?

Um ein CCK-Feld in Drupal anzulegen, müssen Sie folgende url aufrufen: http://www.example.com/admin/content/types/page/add_field
(Anmerkung: ersetzen Sie hier „www.example.com“ durch Ihre Top-Level-Domain)

Geben Sie als Namen addblock ein – oder wählen Sie einen eigenen. Fall Sie letzteres tun, passen Sie bitte den nachfolgenden Code entsprechend an. Als Typ wählen Sie Text – Text Field. Speichern (create field).
Die Beschriftung auf der folgenden Seite können Sie frei wählen. Bei rows wählen Sie 5, ansonsten erhalten Sie nur ein einzeiliges Eingabefeld. Speichern.

Über Manage-Fields plazieren Sie das Feld. (http://www.example.com/admin/content/types/page/fields)
(Anmerkung: ersetzen Sie hier ebenfalls „www.example.com“ durch Ihre Top-Level-Domain)

Wollen Sie den Werbeblock direkt über oder unterhalb des Artikels plazieren, ist alles nötige hierfür schon getan.

Werbung in einem Block anzeigen

Wollen Sie ihn jedoch in einer Seitenspalte anzeigen, können Sie dies über einen einfaches php-snippet machen.

Zuerst schalten Sie über Display-Fields (http://www.example.com/admin/content/types/page/display) die Anzeige in der node aus. Ob Sie die Beschriftung anzeigen lassen wollen, können Sie selbst entscheiden. Aber bei Teaser und Full (text) wählen Sie <Hidden> aus.

Als nächstes fügen Sie einen Block hinzu (http://www.example.com/admin/build/block/add). Im Bereich „Eingabeformat“ wählen Sie: PHP code

Geben Sie den folgenden Inhalt ein:

 <?php
if (arg(0) == 'node' && is_numeric(arg(1))) { //Anzeige einer node
  $node = node_load(arg(1));
  if($node->field_addblock[0] AND $node->field_addblock[0]['value'] != "") {
//die node hat das Werbeblock-Feld und Werbung ist dort enthalten
    print $node->field_addblock[0]['value'];
  } 

?>

Falls Sie im Block immer etwas anzeigen wollen, oder auch auf anderen Seiten, die keine nodes mit Werbeblock sind, dann können Sie folgenden Code verwenden:

 <?php
$default_addblock ='<div id="addblock">Hier steht Ihr default-Werbetext,
wenn's denn sein soll.</div>'
;

if (arg(0) == 'node' && is_numeric(arg(1))) { //Anzeige einer node
  $node = node_load(arg(1));
  if($node->field_addblock[0] AND $node->field_addblock[0]['value'] != "") {
//die node hat das Werbeblock-Feld und Werbung ist dort enthalten
    print $node->field_addblock[0]['value'];
  }
  else {
    print $default_addblock;
  }  

else {
  print $default_addblock;
}
?>

Achten Sie beim Einfügen Ihres default-Werbetextes drauf, daß Sie keine einfachen Anführungszeichen (‚) verwenden. Falls sich dies nicht vermeiden läßt, schreiben Sie einen backslash vor dieses Anführungszeichen (‚). Dieses Zeichen beendet die Zeichenkette und der php-code kann dann nicht mehr richtig ausgeführt werden.

Dies ist ein Beispiel für das gezielte Zuordnen von Werbeblöcken zu einem bestimmten Content (node) Ihrer Webseite. Das läßt sich natürlich auf alle anderen Arten von Anzeigen übertragen. Wenn Sie den Code „in Aktion“ sehen wollen, dann habe ich hier ein Beispiel:

Die Amazon-Werbung rechts neben dem Gartentipp ist nach diesem Beispiel erzeugt.

Viel Erfolg bei der Plazierung von passender Werbung zu Ihren Inhalten!

Petra Sütterlin