Mostrar la categoría padre de una taxonomía jerárquica usando Views

El módulo Views nos sirve para realizar consultas y listados sobre nuestros datos en Drupal utilizando el interfaz, pero en ocasiones, la forma de acceder a determinados datos no es tan obvia como sería deseable. 

Este es el caso en el que nos encontraremos si necesitamos hacer una vista sobre una taxonomía que devuelva solo los términos padre de la misma, es decir, el primer nivel del vocabulario.

Para este ejemplo, he creado el vocabulario Noticias, con una estructura jerárquica como la que sigue:

Entonces creamos una vista yendo a Administer » Site Building » Views.

Y seleccionamos Add para añadirla.

Lo que queremos mostrar son términos, así que le ponemos un nombre a la vista,  opcionalmente una descripción y una etiqueta, y seleccionamos "Terms" en el tipo de vista.

En la edición de la vista, necesitaremos al menos un campo (field) para visualizar, para este ejemplo utilizaré simplemente el nombre del término, pero se podrían añadir más cosas, y un argumento, que es el que nos ayudará a filtrar todos aquellos términos que no sean el primer nivel de la jerarquía de nuestro vocabulario.

El campo elegido es el term name.

Añadimos ahora un argumento,  Taxonomy: Parent Term

Y en las opciones, seleccionamos Provide default argument, Fixed entry, y en el Default value, 0

Es también recomendable que añadamos un filtro por el vocabulario, para solo obtener aquellos elementos padre de los vocabularios que queramos, y no de todos.

Y seleccionamos el vocabulario o vocabularios que queremos mostrar.

Con estos pasos ya lo tenemos listo, ahora solo restaría darle el formato a la vista que necesitamos, los campos extra que queramos mostrar y el display de tipo bloque para mostrar nuestro contenido, que en el preview ya podemos comprobar que devuelve los resultados esperados.

Visto a través de esta issue en drupal.org.

Adjunto encontraréis el export de la vista, que os podeis importar como base para realizar vuestra personalización.

AdjuntoTamaño
Binary Data view_term_padre.view2.91 KB

Comentarios

Me gustó mucho el artículo. Muy bueno Pedro.

Una pregunta ahora. Como podriamos tener todos los nodos hijos y los del padre a la vez con views?

taxonomy/term/2/all nos debería dar todos los artículos de la categoria padre (Internacional) y sus hijos (Europa,Estados Unidos...). Habrá una forma que views nos permita configurar una profundidad en la taxonomia?

Es decir mandar la variable $depth a la function taxonomy_term_page
function taxonomy_term_page($str_tids = '', $depth = 'all', $op = 'page') {

Gracias !!!

<p>No se me ocurre una forma así directa de resolver el problema que planteas, pero quizás el views taxonomy summary, submodulo de views hacks pueda ayudarte en esto: http://drupal.org/project/views_hacks</p>

Muy bueno el artículo. Con el summary del views permite agrupar por padre e incluso que aparezca el numero de hijos que tiene entre paréntesis. Luego al pinchar abres el listado de los hijos. El problema que no he podido resolver es que en lugar de listar el nombre de los términos padre lista el TID (número) y no he logrado saber cómo cambiarlo.
Saludos,

Tito

buen aporte, tomo nota aunque sigo teniendo problemas con mis taxonomias

Hola Pedro excelente trabajo, me sale lo del listado pero como puedo poner la cantidad de elementos en parentesis.
algo así:
Aperturas Abiertas(3)
Aperturas Cerradas(12)
Aperturas Semiabiertas

si esto parece muy interesante

Una pregunta ahora. Como podriamos tener todos los nodos hijos y los del padre a la vez con views?

pedro yo soy principante en php y parece que me cuesta mucio para aprender , me podias dar algunos consejos de como aprenerlo mas rapido???

Muy buen aporte, sois buenísimos, soy programadora, estoy iniciandome con c+

Añadir nuevo comentario