Views

-VIEWS (6.x-2.5): este es otro “Contributed Module” indispensable para hacer webs un poco avanzadas en Drupal,  y su principal finalidad es crear contenidos personalizados, a partir de consultas a las bases de datos donde se guarda la información de los nodos. Para instalarlo deberemos hacer igual que con los demás “Contributed modules” ( se recomienda activar Views y Views UI) . Sus principales ventajas son:

    - No hay que saber SQL para acceder a las bases de datos.
    - El propio módulo Views nos informa de los campos disponibles en la base de datos.
    - Una view se puede utilizar en diferentes partes de la web.
    - Los resultados se pueden organizar como queramos ( ordenar según un determinado criterio etc )
    - Es muy flexible, y la información se puede mostrar en pantalla de diferentes formas y looks mediante los Displays ( separar en páginas, organizar en tablas etc.). Combinado con otros módulos permite mostrar gran variedad de contenidos (p.ej con ImageField y Views podemos crear galerías de fotos rápidamente )

Uno de los puntos vitales a la hora de crear una View es saber a que información queremos acceder ( que Nodes, que Fields en que orden etc. ) y una vez sepamos la información que queremos mostrar deberemos indicar como queremos mostrarla mediante los Displays, que pueden ser: attachment, block, feed, page.

Para crear una View deberemos ir a “Administer>Site building>Views” y pulsar en “Add”. Se nos mostrará un primer formulario muy sencillo en el que podemos entrar el nombre de la nueva View, una pequeña descripción y el tipo. En el siguiente formulario podremos especificar la información por defecto (Default) que queremos que muestre la View y como queremos que la muestre. El formulario está estructurado en diferentes apartados de los que cabe destacar:

    -Basic settings: para configurar las opciones más básicas de apariencia etc.
    -Fields: con las opciones mediante las que podemos especificar que campos de la tabla queremos visualizar. Tambien permite especificar el modo en que queremos que se muestren estos campos ( con etiqueta sin etiqueta etc.)
    -Filters: permiten configurar la consulta sobre la base de datos. Es decir que contiene las opciones que nos permiten especificar que valores queremos que aparezcan en la View y cuales no. Existen gran variedad de Filters configurables y otros no tanto ( p.ej “User: current” permite filtrar los conteidos relativos al usuario que hace la consulta ).
    -Arguments: permite insertar parámetros variables en la consultas a la base de datos. De esta forma se pueden implementar Views dinámicas en las que los resultados mostrados dependerán del valor del argumento recibido.
    -Sort cirteria: permite indicar como queremos que se ordenen y organicen los resultados mostrados en la View.
    -Relationships: para crear consultas a partir de la interrelación de tablas, es decir cruzando tablas. Las opciones de este apartado permiten especificar el campo o los campos mediante los que queremos relacionar ambas tablas.

Todo lo expuesto hasta este punto está relacionado con el modo en que se realizan la consultas, pero de nada sirve extraer información si no podemos mostrarla adecuadamente. Es decir, falta saber qual es el mecanismo mediante el que Views permite dar formato y mostrar  los resultados de las consulta. Este mecanismos son los “Displays” y se crean a partir de la “Default view”.

La idea es que a la hora de hacer una View, se cree primero una “Default view” con la estructura básica de la consulta, y luego, a partir de esta “Default view”, el correspondiente “Display” indicando como queremos visualizar la información de la consulta. De esta manera podremos crear diferentes “Displays” de una misma View.

Para crear un “Display” a partir de una “Default view”, hay que indicar el tipo de Display en la lista desplegable ( hay 4 tipos por defecto: Attachment, Block, Feed, Page ), pulsar “Add Display”, y luego modificar los parámetros de este que se crean convenientes. Con esta finalidad se nos mostraran diferentes opciones casi idénticas a las que teníamos en el momento de crear la “Default view” mediante las que podremos retocar algunos parámetros de la View original, así como también indicar la URL que tendrá el nuevo Display, si queremos que aparezca en el menú o no etc.

P.ej. mediante la opción “Style” podremos indicar el modo en que se ha de mostrar el resultado de la consulta. Indicando "Style=Grid" los campos se mostraran en fila, es decir uno detras de otro. Si marcamos que nos ponga una Label ante cada campo nos colocará tambien los ":", por esto, lo más flexibile y que dá mejores resultados es activar la ocpión "Rewrite the output of this field". Para ello hay que ir a Fields y seleccionar el campo al que queremos modifcar la forma en que se muestra y marcar la casilla. Al hacerlo se nos desplega un menú y un TextBox en el que podremos especificar como queremos que nos muestre el campo en concreto. Podemos poner por ejemplo " amigo [name]", lo que hará que p.ej. en la lista salga el bloque de la siguiente forma "amigo Pepe amigo Juan amigo Jorge". Combinando esto con la opción “Exclude from display” podemos hacer que algunos campos se muestren combinados con otros campos, p.ej “Creado por [name] el [created]”

También podemos especificar quien puede acceder a un Display a través del campo “Access”

Otro punto interesante del módulo Views es que viene con algunas vistas preconfiguradas por defecto que implementan consultas interesantes. Estas vistas se pueden activar en la pestaña “List” y para personalizarlas basta con editarlas entrando en la pestaña “Edit”. Un ejemplo es la “Default Node view: tracker  (default)” vista que ,con alguna pequeña modificación, nos permite visualizar una lista de los últimos contenidos entrados en el sitio web. Existen también otras vistas interesantes con diferentes funcionalidaes, si deseamos saber como funcionan podemos activarlas y jugar un rato con ellas ( Default Node view: archive (default), Defalut Comment view: comments_recent (default) … )