9 de septiembre de 2010

Drupal: Mostrar un bloque dependiendo del tipo de contenido del nodo

Drupal 6 tiene un potente sistema de bloques para mostrar contenido. Cada vez que asignamos un contenido a un bloque determinado tenemos la posibilidad de configurar ese bloque.

Dicha configuración nos permite decidir cuando mostrar o no ese bloque. La última opción de configuración consiste en la posibilidad de agregar un pequeño script en PHP para determinar si se muestra o no el bloque.

Si el resultado del script es TRUE el bloque se muestra, si no se obtiene este resultado no se muestra.

¿Cómo hacer que el tipo de contenido nos devuelva un TRUE cuando mostramos el bloque en un nodo de un tipo determinado? Os pongo aquí el script que utilizo:

   if( arg(0) != 'node' || !is_numeric(arg(1)) )
   { return FALSE;
   }

   $temp_node = node_load(arg(1));

   if( $temp_node->type == 'tipo_contenido' )       //comprobamos el tipo de contenido
   {   return TRUE;    //mostramos el bloque
   }
?>

2 comentarios:

espurnes dijo...

muy util. En el codigo falta la etiqueta de inicio de php. Lo he probado y funciona perfectamente. Me resuelve un problema que tenia. Gracias.

espurnes dijo...

Muy util. Me resuelve un problema que tenia al poder mostrar los bloques dependiendo del tipo de datos.

En el codigo falta la etiqueta de inicio de php.

gracias.