Scroll
Mostrar bloque en páginas de un tipo de contenido específico
A veces es necesario mostrar un bloque únicamente en las páginas de un tipo de contenido específico. En la configuración estándar, la visibilidad del bloque se ajusta solo por ruta o por rol de usuario. El siguiente código, insertado en la configuración de visibilidad del bloque con el filtro PHP habilitado, permite elegir el tipo de contenido en cuyas páginas se mostrará el bloque.
<?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 ($_SERVER["REQUEST_URI"] == "/node/add/page") { $match = TRUE; } return $match; ?>
De este modo, el bloque se mostrará en las páginas del tipo de contenido page
, así como en la página de creación de contenido page
. Aquí $types
es un array de los nombres de máquina de los tipos de contenido, por ejemplo:
$types = array('page' => 'page', 'news' => 'news');