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');