Términos de taxonomía en filtros contextuales con Views 7.x-3.0-rc1

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
ajFernandez's picture

Hola a todos,

tengo un pequeño problema con un proyecto que estoy desarrollando en Drupal 7.4 y Views 7.x-3.0-rc1. A ver si alguno de vosotros me podéis echar una mano o, a ser posible, indicarme dónde puedo encontrar más información al respecto. A continuación paso a explicaros cuál es mi problema.

El sitio que estoy desarrollando debe tener una sección que liste los proyectos que la empresa ha desarrollado. Para clasificar los proyectos he creado dos vocabularios, tipología y localización. Después, he creado un tipo de contenido Proyecto, con campos tales como el título, la descripción, un campo de imagen, un campo de fecha de finalización del proyecto, ..., y dos campos de tipo "Término de taxonomía" para clasificar el proyecto según su tipología y localización. Pues bien, para crear la página donde deben aparecer listados los proyectos, no tuve ningún problema. La hice con Views y fue muy fácil.

Pero mi problema es que, además, quiero crear otra página de Views que filtre los proyectos según los términos de taxonomía que se pasen por la URL de esta forma: "www.misitio.com/proyectos/tipologia/localizacion", siendo "tipologia" y "localizacion" dos nombres de términos de taxonomías que corresponden a los vocabularios "tipología" y "localización" respectivamente. Es decir, la URL /proyectos/tipo1/madrid debería listar los proyectos de tipo1 que se han desarrollado en Madrid.

Esta view la conseguí hacer con la versión beta3 del Views 3.0, porque no había que crear relaciones para usar nombres de términos de taxonomía en los filtros contextuales (o argumentos). Pero he leído que ahora, en la versión rc1 (casi definitiva) del Views 3.0, es necesario crear una relación de tipo "Taxonomy terms on node" para poder usar los términos de taxonomía en los filtros contextuales. Pero no sé si tengo que crear una relación por cada argumento o si tengo que crear una única relación que incluya los dos vocabularios. He probado las dos formas y, después de crear los dos filtros contextuales de tipo "Término de taxonomía: Nombre", no consigo que la vista que devuelva resultados.

¿Qué me falta? ¿Qué tipos de filtros contextuales/relaciones debo crear? ¿Alguna idea o algún sitio donde pueda encontrar alguna pista para implementar esto?

¡¡Muchas gracias por vuestra ayuda!!

Saludos,

Comments

Yo estoy con algo similar!...

yamilsoft's picture

Yo estoy con algo similar!... pero mi problema es que en drupal 7 no puedo imprimir la taxonomia el padre y el hijo por separados en orden diferente (en un tpl.php). Cuando en la version 6 si lo puedo hacer!....
con respecto a lo tuyo tendrias que jugar un poco con todas las opciones de las views!... yo tengo que hacer algo similar... hay un modulo que lo hace pero es par la version 5!... cuando lo encuentre te lo paso... recientemente creado fue el modulo por unos compañeros de aca!...
saludos

Por favor amigos , me pasa lo mismo

Leoto's picture

mi caso es similar pero creo inverso , tengo una vista colocada en un bloque donde aparecen listadas todas las categorías de los productos de mi comercio (una ferretería) ej.: amoladoras , lijadoras , taladros , etc. , cada opción es un link , lo que necesito es que según el usuario clickee se muestre en el cuerpo principal una tabla listando todos los productos de esa categoría , la tabla es otra vista con filtros contextuales en la que el navegante clikea sobre la imagen o sobre la descripcion y llega al nodo donde ve toda la descripcion del producto que eligio , trabajo sobre el perfil kickstar de drupal commerce , agradecere toda gui y/o sugerencia.

Buenas Leoto. Yo no sé si hay

rafinskipg's picture

Buenas Leoto.

Yo no sé si hay otra manera menos loca, pero lo que se me ocurre es que lo hagas por ajax.

1)crear un hook_menu
2) Crear una funcion que reciba por ajax el id del elemento clickado
2-a) Esa funcion carga la vista B pasandole ese argumento
2-b) Esa funcion inserta la vista B en el Dom

Tengo algún ejemplo de ajax drupal en mi web, y hay más en el módulo "Examples"

Otra opcion que se me ocurre es que uses http://drupal.org/project/views_dependent_filters . Pero eso va en contra de tu primer axioma, la vista en un bloque.

Saludos

Para drupal 8

lcaraves's picture

Hola...

Con view cree una vista con los links te lleve a cada categoría más su id.
Algo así: content/15/nombrecategoría
Antes, cree una vista con tarjetas con lus respectivos enlaces.

Para eso dentro de la vista:
Me creo los filtros contextuales necesarios ID + CATEGORY.
Y dentro de la vista en OPCIONES DE PÁGINAS en path podes agregar los filtros dentro del path de la siguiente manera:

Esta vista se mostrará al visitar esta ruta en su sitio. Puede utilizar "%" en la URL para representar valores que serán utilizados para filtros contextuales: Por ejemplo, "node/%/feed". Si es necesario se puede incluso especificar parámetros de ruta nombradas como: taxonomy/term/%taxonomy_term

Con eso, cuando le haces clic en el enlace a la vista obtiene los id/category, y te filtra el contenido (por los filtros contextuales que le pasas en la url).

Todo esto es para drupal 8. Quizas en 7 sea similar, no lo recuerdo bien.

Saludos, espero que te sirva.

Madrid

Group organizers

Group events

Add to calendar

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week