Carlos Cordero – Blog

I've got faith to believe I can do anything

Filtrado de contenidos por taxonomías en los panels de nodos (Drupal)

Hoy vamos con un truco para todas aquellas personas que utilizan el módulo de Panels en Drupal y quieren limitar la visualización de distintos widgets de contenidos en paneles de tipo nodo, dependiendo de la taxonomía a la que pertenezca el nodo visualizado.

Dentro del panel que estemos configurando (supongo que todos nuestros nodos tiran de un mismo panel), añadimos un contenido nuevo, pongamos un banner que solo queremos que salga en los nodos que pertenecen a la taxonomía/taxón “XYZ”. Para limitarlo, solo tenemos que añadir a dicho widget una nueva regla de visibilidad (Visibility rules), seleccionar que será de tipo “code PHP” e introducir el siguiente código:

$clave = 'XYZ';
$q = explode("/", $_GET['q']);if(count($q) > 1)
{$node = node_load($q[1]);
$terms = taxonomy_node_get_terms($node);
foreach($terms as $term) {if($term->name == $clave)
 {return TRUE;}}}return FALSE;

Por supuesto, no olvidéis indicar que el tipo de contenido introducido es PHP. Cambiamos “XYZ” por el nombre de la categoría en la cual queremos que salga y… listo!

, , ,