Blöcke in Drupal 7 nur bei bestimmter Taxonomie anzeigen

Mit Drupal 7 hat sich das Taxonomiemodul grundlegend geändert. Die Beispiele aus dem Web für ältere Drupal-Versionen enden schlimmstenfalls in einer komplett leeren Seite. Dann ist Handarbeit in der Datenbank angesagt.

Hier nun ein funktionierendes Beispiel, wie Blöcke in Drupal 7 anhand eines Taxonomiebegriffs des Nodes angezeigt werden können (einzufügen in den Sichbarkeitseinstellungen des jeweiligen Blocks):

 1<?php
 2if ( arg(0) == 'node' && is_numeric(arg(1)) ) {
 3    $node = node_load(arg(1));
 4	$items = field_get_items('node', $node, 'field_tags');
 5	if (is_array($items))
 6	{
 7		foreach($items as $term)
 8		{
 9			if ($term['tid'] == 7)
10			{
11				return TRUE;
12			}
13		}
14	}
15	return FALSE;
16}
17?>

Dabei wird davon ausgegangen, dass das Feld field_tags die Taxonomiebegriffe enthält. Im Beispiel wird der Block nur angezeigt, wenn der Node den Taxononomie-Term 7 enthält.

Genau dieser Code wird hier auf der Webseite eingesetzt, um Blöcke auf der rechten Seite anzuzeigen, wenn der Node den Term 7 (= Secondlife) enthält.