Módulo de Views para Drupal

Nota: Este post es parte de una serie de posts dedicados a CCK y al uso avanzado de las vistas con argumentos en Drupal.

qué son las vistas

El módulo Views nos permite generar vistas para poder mostrar el contenido que queramos, filtrado y organizado a través de una interfaz que hace la tarea relativamente sencilla. Nos puede servir, por ejemplo, para mostrar solamente los títulos y las imágenes de las páginas publicadas ordenadas por fecha de creación, sin vistas, para poder extraer listados, deberíamos construir un módulo o un bloque con código PHP y consultas SQL manualmente.

¿para qué puedo querer utilizar vistas?

La mayor utilidad de las vistas aparece cuando necesitamos crear tipos de contenido personalizados mediante CCK, a través del interfaz de usuario del módulo Views, podemos filtrar el contenido que pertenezca a uno o varios tipos de contenido y generar listados.

¿cómo se instala?

La instalación no difiere mucho de la de cualquier otro módulo, se debe descargar la versión estable del módulo (es decir, la que no tenga un sufijo dev, rc, alpha o beta) desde la página del proyecto y, una vez descomprimida, se debe copiar la carpeta views al directorio de nuestra instalación de drupal, en el subdirectorio sites/all/modules/ (o sites/midominio.com/modules/ dependiendo de dónde o cómo tengamos drupal instalado). Entonces vamos a Administrar » Construcción del sitio » Módulos y activamos el Views junto al resto de módulos del mismo paquete que vayamos a necesitar, como por ejemplo el Views UI, que es el módulo que nos proporciona la interfaz de usuario para poder crear y modificar nosotros mismos las vistas, el Views Theme Wizard, que sirve para poder crear plantillas y darle formato a nuestras vistas, o el Views RSS, que es un añadido que nos permite generar un feed para las vistas en las que lo necesitemos.

vistas de tipo página y de tipo bloque

Las vistas pueden generar estos listados personalizados de dos formas, las vistas de tipo página generan una página accesible mediante una URL que nosotros debemos configurar y las de tipo bloque no tienen esta URL, sino que generan un bloque que podemos situar en cualquiera de las regiones de nuestra página mediante el menú Administrar » Construcción del sitio » Bloques.

lo básico: campos, filtros y ordenación

Las opciones básicas que tenemos que manejar para poder crear vistas de forma correcta y eficiente son los campos, los filtros y los parámetros de ordenación. Los campos definen la información que queremos mostrar de los elementos a listar, podemos especificar que queremos mostrar el título del nodo y sus categorías, el teaser o el contenido completo del nodo... Los filtros sirven para cribar la información que no necesitamos, por ejemplo si queremos ver solo los nodos publicados (recomendado) o los nodos solamente de cierto tipo de contenido, o de una categoría (o varias) determinadas. Los parámetros de ordenación nos permiten ordenar los elementos recuperados por varios criterios (incluso anidados), como la creación del nodo, el título o incluso, gracias a la integración de Views y el módulo VotingAPI (que gestiona la valoración de contenido), se puede ordenar el contenido según la valoración de los usuarios. Los filtros expuestos nos permiten extraer alguno de los campos de filtrado para que los pueda utilizar el usuario, es decir, si exponemos el tipo de contenido, la vista mostrará un campo de selección con los tipos de contenido posibles y el usuario filtrará el contenido que le interese a través de este campo. Sobre los argumentos dedicaré varias entradas más adelante, ya que es una forma avanzada de uso y manipulación de vistas.

vistas y CCK

Los módulos Views y CCK son complementarios e imprescindibles para aumentar exponencialmente la velocidad de construcción de sitios web que nos proporciona Drupal, además de hacer la labor mucho más ágil y simple. Actualmente solo cuentan con versiones estables para Drupal 5.x, pero las versiones para Drupal 6 están bastante avanzadas. CCK nos permite mostrar información personalizada a través de las Views, podemos añadir imágenes, campos de texto, ficheros de todo tipo, mapas de google, sistemas de votaciones, y una infinidad de campos que luego podrán ser mostrados y filtrados a través de las vistas.

otros módulos interesantes que interactúan con las vistas

Además de la integración con CCK, el módulo views interactúa con varios módulos más, ya que tiene un sistema de hooks que permiten a otros módulos de la comunidad incluir filtros, campos, argumentos, criterios de ordenación. Algunos de los más interesantes son:

  • VotingAPI, que permite ordenar por puntuación de los usuarios
  • Views Bonus Pack, que añade muchas funcionalidades a las vistas, como vistas de tipo grid o export de datos, entre otras muchas.
  • Ubercart, el sistema de comercio electrónico se integra con Views y es posible mostrar información de los productos y filtrar por ella.
  • Forward, que sirve para añadir links de envío por mail, también permite añadir estos links al contenido de una vista

¡vamos a ver un ejemplo!

Comentarios

[...] una serie de explicaciones de cómo funcionan las vistas con argumentos, anteriormente he hecho una introducción a las vistas y otra a [...]

sobre tus etiquetas.

Compañero, una sugerencia, si además de la etiqueta drupal, le metes otra etiqueta con el nombre o nombres de los módulos que estas hablando quedaría mejor, más fácil de agrupar la información y todo.

Un saludo y muy buen blog.

Oskar

Tomo en cuenta tus sugerencias :) y las he aplicado, a ver que te parecen.

Exelente Nota saludos

Excelente articulo....
El video tambien, muchas gracias, hace casi un mes estoy tratando de entender views, y cada vez que encontraba algun tutorial, no me era muy util...
pero gracias a este, las podre manejar muy bien.

Joaquin
Colombia

excelente explicación, gracias!

A tí por pasarte a comentar jose

Excelente explicación! muy provechosa lectura....

Gracias sebas!

Hola, quiero hacer una lista (Categoría de los contenidos de mi taxonomía) pero no logro hacerlo, uso Drupal 6.12

Saludos

muy bueno gracias lo que andaba buscando

Fue muy útil esta entrada, pude hacer lo que necesitaba; pero ahora tengo un problema. Agregué con cck, unos campos que necesitaba para filtrar una vista. Cuando entro como administradora, todo funciona bien, se ve el campo que he creado con el cck, pero cuando salgo y entro sin usuario... un simple visitante del sitio, no se ve el campo que he creado con cck... no se que puede ser... alguna idea?

Hola mari, gracias.

Estás en la versión 5 o la 6 de Drupal?
Tienes el módulo Content Permissions activado?
Has limpiado la caché?

Hola,
gracias por tu artículo.

A ver si me puedes echar una mano. Estoy manejando las views, y activando la de "contenido popular", veo que me aparece un link sobre contenido popular en el menú de navegación del usuario. ¿Cómo podría quitar este link? (Ya que ya tengo un block de contenido popular, no quiero que haya en "Navegación" un enlace al contenido popular!)

Muchas gracias.

Hola,

Estoy intentando crear una vista para mostrar el contenido de un "webform". Lo que quiero es que me devuelva el contenido que un usuario a introducido en el formulario, además del nombre del usuario y la fecha. La fecha y el nombre del usuario lo he conseguido, pero en vez de mostrarme el contenido, me devuelve un enlace con un nombre por defecto "vista" que al pulsarlo me redirecciona a una página con el contenido introducido. ¿Alguien sabe cómo hacer para que me muestre directamente el contenido?

Gracias,

e neng como te lo curras!!!!!!!! un saludo, oye estuvo de puta madre la dev days de barcelona la proxima madrid!!!!!!!!!!!

GRACIAS a todos los que contribuis con drupal, la verdad es que hay un montón de información de drupal en la web y ya si sabes english flipas , acabo de instalar komodo para utilizarlo con drupal y no veas como funciona esto , la verdad es que lo recomiendo, no soy ningun experto en codigo pero aqui andamos intentando descifrar el codigo y cada vez que se da un paso adelante en esto me mola más espero no desmotivarme ...
y un saludo a la comunidad DRUPAL!!!!!!!!!!!!

very nice website!! Guy ,Excellent Superb I will bookmark your site and take the feeds also? I am glad to search out a lot of useful info here in the post, we’d like work out more strategies on this regard, thank you for sharing,googd your blogs.
http://lepong.club

By the way, Thank you for sharing with us, and we sincerely hope you will continue to update or post other articles.

Añadir nuevo comentario