El teu blog de Linux en català

Introducció del mòdul views | Drupal

Views és un mòdul de Drupal que ens permet fer tot tipus de llistat amb relativa facilitat. Actua com un sentencia SQL, un script PHP, i una maquetació HTML, tot junt. La seva rapidesa, fa que sigui el mòdul més usat en projectes fets amb Drupal.

La interfície a l’inici pot semblar molt complexa, però un cop adquirit els coneixements permet realitzar llistats complexos amb poc temps.

En aquesta guia expliquem els diferents panells que ens trobem al realitzar una vista, i després realitzarem un exemple de com crear un llistat dels últims missatges en el fòrum de drupal.

Es requereix un Drupal amb el Mòdul Views instal·lat i activat. Per començar ens dirigim a /admin/structure/views on ens mostrara un llistat de les vistes que porta per defecte Drupal. Podem trobar vistes tant importants com frontpage ( vista de la portada ), taxonomy_term vista dels termes de la taxonomia ( Categories de Drupal).

Aquestes vistes us poden ser d’exemple alhora de crear de noves, o si necessiteu canviar el llistat de nodes de la portada o la visualització de les categories, podreu editar-ho des d’aquí. Nosaltres en crearem una nova per fer proves amb la interfície de Views.


Li donem un nom de maquina ( no pot contenir espais, ni altres caràcters especials ), una descripció i uns tags per agrupar les Views semblants. A sota podem trobar un llistat dels elements típics d’un Drupal ( Nodes, Comentaris, Fitxers, Termes, Usuaris ). Si esteu familiaritats amb el vocabulari de Drupal sabreu quin tipus de contingut voleu llistar.

Nosaltres escollirem Nodes ja que bona part del contingut de Drupal són nodes. Arribem a la part important de Views, on podrem configurar tota la vista que volem crear. La interfície es pot dividir en 3 zones.

Zona 1: En aquesta zona podem crear diferents presentacions ( en anglès: displays). Per defecte venen 4 tipus de presentacions però es poden ampliar amb mòduls addicionals.

“Page”: Ens permet crear una vista pàgina. Un cop tenim la vista definida, li podrem donar un “path” per que la vista sigui accessible des de un enllaç. Exemple: http://www.exemple.cat/vista/de/prova.

“Block”: Ens permet crear una vista block. Un cop definida la vista, podem fer que sigui un block de drupal, de manera que el podrem situar a a regió que més ens interessi del nostre drupal. Per situar-lo només cal que anem a la pàgina de situació de blocks i el trobarem entre el llistat de blocks.

“Feed”: Ens permet crear una vista en format xml o RSS. Les opcions de Feed són molt simples, que amb algun mòdul addicional podem millorar. Cal donar-li un “path” com a les pàgines.

“Attachment“: Ens permet adjuntar una vista en una altre, acostuma a usar-se quan un contingut d’una vista fa variar un altre contingut.

Les presentacions no s’exclouen entre elles. A una mateixa vista podem disposar d’una Presentació Pàgina i una de Block amb el mateix contingut.

Zona 2: Aquesta zona conté unes quantes capses agrupades en 3 columnes. És on es defineix bona part de la vista. Comencem d’esquerra a dreta en el sentit de lectura, i marquem com a importants les capses que més s’usen per crear una vista.

“Views settings”: Conté els camps de descripció i tags de la vista, facilita la cerca en el llistat de vistes, que es té un numero molt gran de vistes.

“Basic settings”:

  • Definir títol de la vista.
  • Si es vol paginador i quants ítems hi haurà per pàgina
  • Permisos d’accés a la vista, qui podrà visualitzar la vista. ( Anònims, Rols, etc…).

“Advanced settings”:

  • Us d’Ajax
  • Agrupar o no els elements repetits
  • Donar un tipus de cache a la vista ( Cercar informació sobre la cache de Drupal ).

“Style settings” ( Important ):

  • Format en que es veuran els elements del llistat.  Cada item com a node o camps.
  • Estructura  taula HTML, llistat HTML, Sense format, o amb de columnes i files. Amb mòduls addicionals podem arribar a afegir Slideshows.
  • Informació de les plantilles de la vista. Podem trobar quines plantilles esta usant, i les podem modificar al nostre gust.

“Exposed form”: Ens permet exposar la vista com a block.

“Header”: Podem afegir text o qualsevol camp que es mostrara a la capçalera de la vista.

“Footer”: Igual que Header però els camps es mostraran al peu de la vista.

“Empty text”: Podem afegir camps o text, i es mostrarà quan la vista no contingui cap element a mostrar.

“Fields”( Important ): Aquesta capsa esta activada si a la capsa de “style settings” a la fila “Row style” i posa “fields”. Si hi posa node es queda desactivada. Afegir camps  a la vista. Els camps poden ser de tot tipus de contingut que trobarem llistat i agrupat.

“Relationships”: Podem crear relacions de diferents continguts de Drupal.

“Arguments” ( Important ): Ens permet definir arguments per filtrar certs tipus de contingut, els arguments podem venir del mateix “path”.

“Sort criteria” ( Important ): Ens permet ordenar els elements amb un criteri

“Filters”( Important ): Podem filtrar elements per un tipus de contingut o algun altre camp que ens interessi.

Zona 3: En aquesta zona podem trobar el previsualitzador de la vista. Això ens facilita, i ens fa guanyar temps alhora de visualitzar els resultats, ja que no caldrà desar i refrescar la vista cada cop per veure els nous canvis. Sí la vista conté arguments, ens permet simular-los. També i trobarem la consulta SQL generada, per intuir si anem pel bon camí, o per provar en algun gestor sql com phpmyadmin.

Amb l’explicació anterior s’adquireixen uns coneixements mínims sobre Views que ens permetran crear vistes sense problemes.

Realitzar un llistat dels últims missatges en el fòrum drupal

Imagineu que voleu fer un llistat dels últims escrits que hi ha en el fòrum del nostre Drupal. Picant el codi a mà ens tocaria crear una sentencia SQL que extreies les dades que ens interessen, filtrant per contingut fòrum i relacionant amb la taula usuaris per saber quin és el nom del creador. Un cop obtinguéssim les dades s’haurien de tractar amb PHP, HTML i CSS per donar format al llistat. Amb Views podem simplificar aquests tres passos en una sola vista.

Anem a la part superior dreta del block “fields” on hi ha el signe més (+) que ens desplegarà un llistat de camps per seleccionar.


Cerquem el grup Node, i dins de node trobarem el camp “title” el seleccionem i l’afegim. Fem el mateix proces per afegir el nom d’usuari. El trobareu en el grup User.

A la previsualització podem veure els dos camps. Però Ara mateix com que no estem filtrant per cap camp, s’ens estan mostrant els camps títol i usuari de tots els nodes.

Per filtrar només els nodes de fòrum anem a al capsa filter i afegim el camp Node->type. El node tipus ens permet filtrar per els diferents tipus de contingut existents (Notícia, Pàgina, Fòrum).

Un cop afegit el filtre, ordenem els elements per data, de manera que els primers elements siguin els últims creats. Anem a Sort Criteria, i afegim el camp Node->Post_date que ens deixarà ordenar per data ascendent o descendent.

Amb aquesta configuració aconseguim fer el llistat. Per donar-li un format més maco podem escollir una estructura de taula, i així quedarà més ordenat.

Amb pocs passos hem aconseguit un llistat. Recordeu que Views no acaba aquí, hi ha una gran quantitat de mòduls relacionats amb Views, que ús permetrà fer llistats de molts tipus. Ús animo a jugar amb ell fins que trobeu el resultat desitjat.

2 comments

    • dvd on 15 de desembre de 2010 at 11:54

    Reply

    Gracies per aquesta serie i en concret per aquest tutorial del Views.

      • Eloi V on 15 de desembre de 2010 at 16:22
      • Author

      Reply

      Fa dos anys un company de feina em va ensenyar aquest mòdul i em va semblar molt interessant. Ara sóc jo qui miro de ensenyar-lo per seguir compartint el coneixement 🙂

Deixa un comentari

Your email address will not be published.