Scroll
Einen Block auf Seiten eines bestimmten Inhaltstyps anzeigen
Manchmal muss ein Block nur auf bestimmten Seiten eines einzelnen Inhaltstyps angezeigt werden. In den Standard-Einstellungen kann die Sichtbarkeit eines Blocks nur über einen bestimmten Pfad oder Benutzerrollen konfiguriert werden. Der folgende Code, der in die Sichtbarkeitseinstellungen des Blocks eingefügt wird, wenn der PHP-Modus aktiviert ist, erlaubt es, den Inhaltstyp auszuwählen, auf dessen Seiten der Block angezeigt wird.
<?php $match = false; if (arg(0) == 'node' && is_numeric(arg(1))) { $nid = arg(1); $node = node_load(array('nid' => $nid)); $type = $node->type; if (isset($types[$type])) { $match = TRUE; } } if (substr($_SERVER["REQUEST_URI"], 0, 6) == '/page/') { $match = TRUE; } if (substr($_SERVER["REQUEST_URI"], 0) == "/node/add/page") { $match = TRUE; } return $match; ?>
So wird der Block zum Beispiel auf den Seiten des Inhaltstyps page
angezeigt sowie auf den Seiten zur Erstellung eines neuen page
-Inhalts. Dabei ist $types
ein Array mit den maschinellen Namen der Inhaltstypen, z. B. so:
$types = array('page' => 'page', 'news' => 'news');