Springe zum Inhalt

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):

<?php
if ( arg(0) == 'node' && is_numeric(arg(1)) ) {
    $node = node_load(arg(1));
	$items = field_get_items('node', $node, 'field_tags');
	if (is_array($items))
	{
		foreach($items as $term)
		{
			if ($term['tid'] == 7)
			{
				return TRUE;
			}
		}
	}
	return FALSE;
}
?>

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.