Views: Módulo vistas en Drupal 7 (II)

Campos

La opción de Agregar campos sólo estará disponible si en las opciones de Formato de la presentación, en Mostrar hemos seleccionado Campos. No será necesario seleccionar esta opción para el formato Tabla, ya que en este caso sólo se podrán utilizar campos.

Por ejemplo, si la vista es de tipo Contenido y queremos mostrar un listado con información de los inmuebles (tipo de contenido Inmueble), podremos añadir campos genéricos (como el título del nodo, la fecha de publicación, etc.) y/o campos específicos del tipo de contenido (tipología, precio, m2, fotografía, etc).

Una vez presionado el enlace de Agregar campos se nos abrirá una nueva ventana con un listado de todos los nodos, campos, contenidos del sitio. Esta página dispone de un filtro para ayudar a encontrar lo que buscamos. Así pues, si buscamos la Fecha de publicación del inmueble, podemos escribir fecha en el campo buscar y filtrarlo por contenido. La lista se simplificará
Como sabemos que buscamos un campo que aparece en el tipo de contenido Inmueble, buscaremos en el listado aquel que lo indique

De esta forma agregaremos todos los campos que queremos mostrar en la vista.
Al añadir un campo se mostrarán opciones de configuración particulares, que podrán variar en función del tipo de campo seleccionado.
Veamos un ejemplo. Al añadir el campo Contenido: Fecha de publicación (título del nodo), podremos configurar las opciones:.

  • Crear una etiqueta: Se añade una etiqueta, normalmente identificando el contenido del campo. Por ejemplo: título, sinopsis, subtítulo, etc.
  • Excluir de la presentación: El campo estará disponible en la vista pero no se mostrará. Los campos ocultos pueden utilizarse en agrupaciones con otros campos o como tokens para otros campos (ver opción reescribir la salida de este campo).
  • Formateador: Permite dar formato a la fecha.
  • Seleccione como los usuarios visualizaran las fechas y los horarios: Permide añadir más formato a la fecha visualizando una fecha larga, media o corta.
  • Opciones de estilo: Permite realizar cambios en las etiquetas HTML y class CSS utilizadas para mostrar el campo.
  • Reescribir resultados: Algunas de las opciones incluidas en este apartado son (se desplegarán nuevas opciones al activar las opciones principales):
    • Reescribir la salida de este campo: Permite reescribir el valor del campo utilizando HTML y valores de reemplazo. Entre los valores disponibles en los patrones de reemplazo se encuentran los campos que se han añadido a la vista antes del campo actual, incluso los que están ocultos.
    • Producir este campo como enlace. El valor del campo será un enlace. Podemos indicar la URL y atributos del enlace. La URL puede generarse dinámicamente a través de los patrones de reemplazo.
    • Recortar este campo a una longitud máxima. Permite recortar la salida del campo, configurando otras opciones como recortar sólo entre palabras o añadir puntos suspensivos.
    • Eliminar etiquetas HTML. Elimina todas las etiquetas HTML del campo. Podemos seleccionar qué etiquetas no se eliminarán.
    • Eliminar espacios (Remove whitespace). Elimina todos los espacios antes y después del valor del campo.
    • Convertir saltos de línea en etiquetas <br> de HTML.
  • Comportamiento si no hay resultados: Comportamiento cuando la vista no devuelve resultados o el campo está vacío.
  • Más: Otras opciones, como cambiar el nombre del campo (título administrativo) en las páginas de administración.

Criterios de ordenación

Los criterios de ordenación definen el orden por el que aparecerán los resultados de la vista cuando esta se ejecute y se muestre al usuario. Se añaden y gestionan de la misma manera que los campos o filtros y la vista se ordenará usando los criterios definidos en el orden en el que nosotros queramos.

En Criterios de ordenación añadiremos nuevos campos haciendo clic en Agregar. Por defecto podrían aparecer algunos criterios de ordenación ya creados, esto dependerá de las opciones seleccionadas al crear la vista.

Por ejemplo, podemos aplicar una ordenación en función de la fecha de publicación de los nodos (Contenido: Fecha de publicación).

En el momento de aplicar varios criterios de ordenación de una vista, estas se aplicarán según el orden establecido y que podemos modificar desde reordenar. En primer lugar se aplicará el primer criterio, y sólo se tendrá en cuenta el siguiente cuando coincidan varios resultados.

Siguiendo el ejemplo propuesto podemos crear una tabla de los tipos de contenido Inmuebles ordenados por fecha de publicación del inmueble. Para ello agregaremos en criterios de ordenación la fecha de publicación.

Cuando estemos utilizando el formato Tabla podremos configurar los encabezados de las columnas como enlaces de ordenación. Lo haremos desde las Opciones del estilo Tabla, indicando que la columna es ordenable.



En las columnas ordenables se mostrará una flecha hacia arriba o hacia abajo en función del método de ordenación que se esté aplicando (ascendente o descendente, respectivamente). Haciendo clic sobre el título de la columna se aplicará el método de ordenación contrario al actual.

 

Criterios de ordenación expuestos al usuario

Los criterios de ordenación se pueden exponer al usuario, de forma que sea él quien decida cómo ordenar los resultados de la vista. Desde la configuración del criterio de ordenación seleccionaremos la opción Exponer esta ordenación a los visitantes para permitirles cambiarlo.

En la captura siguiente se muestran los selectores de ordenación expuestos al usuario. Éste podrá ordenar tanto por el campo Fecha de publicación como por el campo Población, indicando además si la ordenación será ascendente o descendente.

El resultado sería:

Criterios de filtrado:

Los filtros en el módulo Views nos permiten restringir el contenido a visualizar por el usuario, podemos configurar tantos como queramos para hacer nuestra consulta lo más específica posible e incluso anidarlos con operadores AND u OR.

Los filtros pueden estar ocultos, con lo que se aplicarán siempre, o también  pueden estar
expuestos al usuario, de forma que sea el usuario quien seleccione qué filtros aplicar, convirtiendo la vista en una especie de buscador. Por ejemplo, podemos añadir un filtro expuesto de tipologia , de forma que el usuario pueda seleccionar qué tipología de inmueble mostrar en función de esta selección se le muestren sólo los nodos publicados para esta tipología de inmueble.

Para añadir un filtro a la vista haremos clic en el botón Agregar de la sección Criterios de filtrado, y seleccionaremos el campo que usaremos para realizar el filtrado.

Por ejemplo, si añadimos el campo Contenido: Tipo, se mostrarán las siguientes opciones de configuración:

  • Operador: Permite indicar el tipo de filtrado que queremos hacer (es uno de, no es uno de).
  • Tipo de contenido: Permite indicar los tipos de contenido que se tendrán en cuenta en el filtrado.

Si seleccionamos:

  • Operador: es uno de.
  • Tipo de contenido: Inmueble.

Estamos indicando que sólo se mostrarán los contenidos del tipo Inmueble.

Y el resultado obtenido sería:

La opción Exponer, hará que el filtro esté visible en la vista y, por tanto, el usuario podrá seleccionar entre los valores que hayamos habilitado.

Al activar la opción Exponer se mostrarán nuevas opciones de configuración:

  • Obligatorio: Si no se activa se añadirá una opción "cualquiera" para que el usuario pueda seleccionar un valor del filtro o ninguno.
  • Etiqueta: Texto que se mostrará en la vista para identificar el filtro. Generalmente se debe modificar para mostrar un texto más adecuado para el usuario.
  • Exponer operador: El usuario podrá seleccionar también qué operador aplicar.
  • Permitir selecciones múltiples: Si está activado el usuario podrá seleccionar varios valores (se mostrará como una lista de selección múltiple). En caso contrario el filtro se mostrará como una lista de selección de un único elemento.
  • Recordar la última selección: Si está activado, al volver a la vista se realizará el último filtrado seleccionado.
  • Limitar lista a los elementos seleccionados: Sólo se mostrarán al usuario los elementos seleccionados. Para este ejemplo, sólo se mostrarán en el selector los tipos de nodo seleccionados.

En la captura se muestra una tabla de contenidos con el filtro expuesto Tipo de contenido. El usuario podrá seleccionar un tipo de contenido para mostrar los contenidos correspondientes.

Operadores Y (AND) y O (OR)

Por defecto, los criterios de filtrado se aplican como una Y lógica (AND), de forma que sólo se mostrarán los resultados que cumplan todos los criterios: criterio 1 Y criterio2 Y criterio 3 Desplegando el selector de opciones veremos, junto a agregar, la opción y/o. Desde esta ventana podemos especificar el Operador que se utilizará entre los filtros.

También es posible separar los filtros en grupos de filtros, de forma que dentro de cada grupo se podrá utilizar un operador independiente y, además, se podrá seleccionar un operador entre grupos. Por ejemplo: (criterio 1 Y criterio2) O (criterio 3 Y criterio 4).

 

Opciones avanzadas

Filtros contextuales

Mediante los filtros contextuales podremos pasar argumentos a las vistas a través de la URL.
Por ejemplo, dada la siguiente vista, que muestra todos los inmuebles de la inmobiliaria:
inmobiliaria/inmuebles
podríamos añadir un valor de género en la URL, para que se muestren sólo los inmuebles de una tipología concreta:
inmobiliaria/inmuebles/atico

Para añadir un filtro contextual debemos desplegar la pestaña Avanzado y hacer clic sobre Agregar, seleccionando el campo que actuará como filtro.

La configuración del filtro contextual se divide en dos grupos de opciones:

  • Cuando el valor del filtro NO está en la URL: Determina cómo debe actuar la vista cuando el valor esperado en la URL no se encuentra. Algunas opciones son mostrar todos los resultados, mostrar un error de página no encontrada o mostrar un valor predeterminado.
  • Cuando el valor del filtro esta en la URL o se proporciona un valor predeterminado: Cuando tenemos un valor para el filtro, ya sea por la URL o a través de un valor predeterminado, podremos:
    • Sobrescribir título. Permite personalizar el título de la vista (Por ejemplo, Inmuebles de tipología ático, Inmuebles de tipología aislada).
    • Especificar criterios de validación. Permite comprobar si el valor del filtro es válido.

Cuando añadimos filtros contextuales por URL, debemos editar la ruta de la vista y añadir el símbolo % en cada posición que se corresponda con un filtro. Por ejemplo:
inmobiliaria/inmuebles/%
Donde el % se corresponde con un valor de tipología:
inmobiliaria/inmueble/atico
En caso de que existan varios filtros contextuales por URL, estos deberán estar en el mismo orden que los símbolos %. Por ejemplo:
inmobiliaria/peliculas/%/%
Donde el primer % se refiere al género y el segundo al país:
inmobiliaria/inmueble/atico/santander

Y el resultado de pasar el filtro Santander por URL sería:

 

Filtros contextuales con valores predefinidos

Los valores predefinidos en los filtros contextuales se pueden utilizar con diferentes propósitos. Algunos ejemplos de uso son:

  • Aportar un valor por defecto, generalmente fijo, cuando no se ha facilitado un valor por la URL.
  • Obtener un filtro basado en el usuario que está cargando la página.
  • Obtener un filtro basado en el autor del nodo que se está cargando.
  • Obtener un filtro basado en el nodo que se está cargando.

Supongamos que queremos crear un bloque con información del perfil del usuario, de forma que cada usuario verá sólo su información.
Para conseguir esto podemos crear un filtro contextual seleccionando el campo Usuario: Uid. El valor del identificador de usuario no será pasado por la URL. En cambio, seleccionaremos un valor predeterminado: La ID de usuario del usuario autenticado.

De esta forma conseguimos que los valores devueltos por la vista, por ejemplo los inmuebles de una inmobiliaria en concreto se correspondan con el usuario (inmobiliaria) que se ha identificado en el sitio. Para ello utilizaremos también el siguiente campo: Relaciones.

En la siguiente camptura se muestra los resultados de los inmuebles publicados por una inmobiliaria en concreto accediendo desde su cuenta de usuario:

Relaciones

Las relaciones en las vistas para drupal permiten mostrar contenido de varios origenes diferentes que tengan alguna relación entre sí. 

Por ejemplo, en una vista que muestra contenidos, si establecemos una relación con el usuario autor de los nodos, podremos mostrar campos adicionales relacionados con los usuarios (nombre y apellidos, por ejemplo).

Para añadir una relación tenemos primero que desplegar el grupo Avanzado, y posteriormente hacer clic en agregar (dentro de Relaciones). Seleccionaremos
 uno de los campos disponibles, con el que se establecerá la relación.

Como configuración sólo se solicitará una etiqueta para identificar la relación y la opción Exigir esta relación. Si está activada la vista sólo mostrará los elementos que estén relacionados.
Una vez añadida la relación, tendremos disponibles nuevos campos relacionados. Al añadir uno de estos campos tendremos que indicar la relación que se está usando.

Otras opciones avanzadas

Dentro de la pestaña Avanzado encontramos otras opciones de configuración de la presentación:

  • Comportamiento si no hay resultados: Permite agregar un Área de texto o Área de vista que se mostrará cuando la vista no ofrezca resultados.
  • Formulario expuesto en bloque: Esta opción permite separar los filtros expuestos de la vista en un bloque independiente. Los filtros no se mostrarán en la vista, y el bloque habrá que activarlo y configurarlo manualmente desde el área de administración de bloques.
  • Nombre de sistema: Nombre de sistema de la presentación. Se compone a partir del nombre de la presentación.
  • Comentario: Comentario sobre la presentación para uso exclusivamente administrativo. El usuario final no verá este contenido.
  • Usar AJAX: Se utilizará AJAX para paginación, ordenación de tablas y filtros expuestos. Hay que tener en cuenta que, si bien facilita la navegación, los resultados de la vista se obtendrán con la primera consulta y no se actualizarán. Por tanto sólo debe utilizarse con resultados que no cambien en "tiempo real".
  • Ocultar adjuntos en el resumen: Se utiliza al desplegar un resumen de filtro contextual.
  • Usar agregación: Si se activa estará disponible para agregación.
  • Opciones de configuración de consulta: No debemos desactivar la reescritura de SQL. Dentro de las opciones podemos indicar que los resultados sean Únicos, para evitar duplicados.
  • Idioma de campo: Especifica en qué idioma se está mostrando el campo.
  • Caché: Permite activar la caché de vista.
  • Clase CSS: Podemos indicar una clase CSS que servirá para aplicar estilos a la vista.
  • Tema. Información sobre las plantillas (archivos tpl.php) que se pueden utilizar para modificar la presentación de la vista.

Permisos

En opciones de página podemos aplicar restricciones de acceso a cada presentación de vista. Podemos hacerlo a partir de un permiso o de uno o varios roles.


Además el módulo Views añade dos permisos de uso general:

  • Administrar vistas: Sólo los usuarios con este permiso podrán administrar las vistas (crear, modificar y eliminar).
  • Saltar el control de acceso de las vistas: El usuario con este permiso podrá ver todas las vistas, independientemente del control de acceso individual que se haya establecido.

Módulos adicionales

Las vistas pueden complementarse a través de módulos adicionales. En este apartado describiremos brevemente algunos de ellos.

El módulo Views Summarize añade un nuevo formato de presentación llamado Summarized table. El nuevo formato permite añadir resúmenes o recuentos de los resultados de la vista. Por ejemplo, la suma total de un campo numérico, el número total de resultados obtenidos, la media de un campo, etc.

Una vez instalado, el nuevo formato Summarized table estará disponible tanto al crear la vista como al editarla.

En las Opciones del formato, que hereda todas las opciones del formato Tabla, se mostrará una nueva columna llamada Summarize, donde podremos seleccionar el tipo de operación que se realizará sobre cada campo.

El resultado se mostrará al final de cada columna donde se haya aplicado una operación.

El módulo Views Bulk Operations (VBO) añade cuadros de selección de tipo checkbox a los resultados de la vista. Sobre los resultados seleccionados por el usuario se podrán realizar distintas operaciones.

Una vez instalado y activado, en la vista podremos añadir un nuevo campo de selección, identificado como Operaciones en masa. En una vista de tipo Contenidos, podremos añadir el campo Contenido: Operaciones en masa, y en una vista de Usuarios el campo Usuario: Operaciones en masa.

Al añadir un campo de Operaciones en masa podremos configurar estas opciones:

  • Habilitar: "Seleccionar todos los elementos de todas las páginas".
  • Forzar único: Cambiará los selectores de checkbox por botones de radio, de forma que sólo se podrá seleccionar un valor.
  • Operaciones de variante: Seleccionaremos las operaciones que se podrán realizar sobre los contenidos seleccionados: Cambiar autor del contenido, eliminar contenido, publicar o despublicar contenido, etc.

La vista resultante mostrará un elemento de selección junto a cada resultado y un nuevo filtro de operaciones. La operación indicada se ejecutará sobre los elementos seleccionados.


El módulo Views Accordion añade a las vistas un nuevo estilo de presentación, llamado Views Accordion. El resultado de aplicar este estilo es la presentación de los contenidos a modo de acordeón con JQuery, de forma que los contenidos se muestran plegados hasta que se hace clic sobre el título (o valor del primer campo).


Entre otras opciones podremos configurar las siguientes:

  • Selección de la fila que se mostrará abierta al cargar la vista: Por defecto será la primera fila (Row 1), pero también se puede seleccionar Ninguno para que todos los resultados se muestren plegados.
  • Efecto de animación: El módulo incluye diferentes efectos que se aplicarán al plegar o desplegar elementos.
  • Evento: Por defecto es Click, per también se puede ejecutar cuando se pasa el ratón por encima del elemento (Mouseover).

En la Figura se muestra un ejemplo de vista plegada en modo acordeón. Al hacer clic sobre cualquiera de los títulos se abrirá el nuevo elemento y se cerrará el anterior.

 

 

 

 

 

 

Tags: 

Tema: