Mira, te lo explico bien detalladamente, pq yo no soy de ponerme espeso tan facil:
Segun nos comentas, vos tenes una vista en la cual tenes algunos filtros expuestos. En base al valor del filtro, vos mostras un bloque o no, cierto?
Bueno, lo que te propuse yo es lo siguiente:
- Suponiendo que tenes varios bloques por mostrar, y que los mismos dependen del valor del filtro, entonces podes jugar con la URL que muestra Drupal a la hora de filtrar. Te muestro el ejemplo en la siguiente URL:
http://www.aprendetrading.com/usuarios
Si en el cuadro de texto de "buscar usuarios" pones un nombre cualquiera, la url cambiara a
http://www.aprendetrading.com/usuarios?uid=usuario
... donde
usuario es el nombre de usuario que hayas puesto en el filtro (ese campo es el id del usuario como filtro expuesto).
- A que voy con esto? A que vos, desde la validacion con PHP que haces para la visibilidad del bloque, podes obtener esa ruta, como? con la variable $_GET["q"], que tiene Drupal para mostrar la URL COMPLETA. Ahora bien, si vos solo quisieras obtener el valor "
usuario" de la ruta, entonces la variable $_GET["uid"] deberia funcionar, y eso fue lo que te dije que pruebes, yo no puedo hacer todo tu ejercicio, y darte las respuestas correctas a todo suponiendo nada mas....
- Si ese valor te devuelve un array, da igual!! pq ahi estas usando PHP! Entonces podes jugar con los valores de ese vector, obtenerlos, y hacer un IF, siempre dentro de la validacion PHP del bloque.
- Lo que podes hacer tambien es un override del bloque, y hacer la validacion dentro del tpl del bloque, pero creo que eso es mas avanzado.
Espero que te haya servido.
Saludos.