Diferencia entre revisiones de «DRUPAL Módulo View»

De MediaWiki
Ir a la navegación Ir a la búsqueda
 
(No se muestran 22 ediciones intermedias del mismo usuario)
Línea 16: Línea 16:
  
 
* Como vemos os Views van permitirnos facer consultas como se fixeramos consultas SQL contra unha base de datos, pero non só vai devolver os contidos, se non que vai a establecer un formato de presentación deses contidos (con filtrado e ordeación) e o resultado vai poder ser unha páxina, un bloque para poñer nalgunha sección do Theme,...
 
* Como vemos os Views van permitirnos facer consultas como se fixeramos consultas SQL contra unha base de datos, pero non só vai devolver os contidos, se non que vai a establecer un formato de presentación deses contidos (con filtrado e ordeación) e o resultado vai poder ser unha páxina, un bloque para poñer nalgunha sección do Theme,...
 +
 +
 +
* Para acceder ao módulo View temos que ir a opción de menú '''Administrar''' => '''Estructuras''' e escoller a opción '''Vistas''':
 +
[[Imagen:Drupal_modulos_view_43.jpg|400px|center]]
 +
 +
 +
 +
== Creando unha vista sinxela ==
 +
 +
 +
* <u>'''NOTA:'''</u> '''Esta sección está asociada á realización dun EXERCICIO.'''
 +
 +
 +
 +
 +
* O número de posibilidades que nos ofrece dito módulo é inmenso. Imos facer un exemplo de creación de vista o máis sinxela posible.
 +
 +
=== Caso práctico 1: Creando unha vista asociada a unha páxina ===
 +
 +
* Imaxinemos que temos unha serie de artigos publicados, por exemplo deportivos (valería para calquera tipo de contido).
 +
: Cada artigo terá unha serie de etiquetas (dentro dun [http://wiki.cifprodolfoucha.es/index.php?title=DRUPAL_Taxonom%C3%ADa vocabulario]) para relacionar o seu contido. Por exemplo, podemos ter varios artigos de baloncesto e outros de hockey.
 +
 +
 +
* Podemos crear unha vista que amose todos os artigos dun tipo determinado, por exemplo baloncesto.
 +
 +
<gallery caption="Creando unha vista sinxela" widths="350" heights="300px" perrow="2">
 +
Image:Drupal_modulos_view_44.jpg| Indicamos o nome da vista e a descrición. Ditos datos aparecen cando listemos as vistas dispoñibles (Administrar => Estrutura => Vistas). Son identificativos da vista.
 +
Image:Drupal_modulos_view_45.jpg| En '''Opcións de vista''', indicamos que queremos ammosar 'contidos' (no noso caso artigos) e aqueles que estean etiquetados como 'baloncesto'.
 +
Image:Drupal_modulos_view_46.jpg| En '''Opcións de páxina''' indicamos que o resultado da vista (que non ven ser máis que unha consulta de datos) sexa unha páxina (é dicir un contido). No campo '''ruta''' indicamos a parta de URL que vai cargar o contido da vista. No exemplo imos crear unha entrada de menú para a vista.
 +
Image:Drupal_modulos_view_47.jpg| Aparece un resumo de todas as opcións escollidas e outros parámetros de configuración que podemos cambiar
 +
Image:Drupal_modulos_view_48.jpg| Resultado da vista. Fixarse na '''URL''' que ten como identificador '''listado-deportes-baloncesto''' que foi un dos datos indicados en '''Opcións de páxina'''.
 +
</gallery>
 +
 +
=== Caso práctico 2: Creando unha vista de termos de taxonomía asociada a un bloque ===
 +
 +
* Imaxinemos que temos unha serie de artigos publicados, por exemplo deportivos (valería para calquera tipo de contido).
 +
: Cada artigo terá unha serie de etiquetas (dentro dun [http://wiki.cifprodolfoucha.es/index.php?title=DRUPAL_Taxonom%C3%ADa vocabulario]) para relacionar o seu contido. Por exemplo, podemos ter varios artigos de baloncesto e outros de hockey.
 +
 +
 +
* Podemos crear unha vista que amose todos os artigos dun tipo determinado, por exemplo hockey, pero dentro dun bloque e situado nunha rexión do tema actual.
 +
: <u>Nota:</u> Lembrar que o tema é a aparencia do sitio web. Dentro dun tema temos rexións e en cada rexión poden situarse bloques ou contidos. Isto está explicado no tema [http://wiki.cifprodolfoucha.es/index.php?title=Drupal#UNIDADE_3:_Themes Themes en Drupal].
 +
 +
<gallery caption="Creando unha vista sinxela" widths="350" heights="300px" perrow="3">
 +
Image:Drupal_modulos_view_49.jpg| Creamos unha nova vista, de nome 'Listado deporte hockey en bloque'.
 +
Image:Drupal_modulos_view_50.jpg| Pero agora en vez de escoller 'Opcións de páxina' escollemos '''Opcións de bloque'''. Indicamos un título de bloque, que vai ser o que apareza na páxina e as opcións de presentación que prefiramos (todo isto se pode modificar despois).
 +
Image:Drupal_modulos_view_51.jpg| Imos darlle un nome ao bloque para podelo identificar despois na sección de bloques do tema.
 +
Image:Drupal_modulos_view_52.jpg| Damos un nome e aplicamos.
 +
Image:Drupal_modulos_view_53.jpg| Hai que lembrar que ata que non prememos o botón '''Gardar''' os cambios non teñen efecto.
 +
Image:Drupal_modulos_view_54.jpg| Agora imos colocar o novo bloque creado na estrutura do tema. Prememos a opción de '''Deseño de bloques'''.
 +
Image:Drupal_modulos_view_55.jpg| Escollemos a sección onde queremos colocar o bloque e prememos o botón '''Colocar bloque'''.
 +
Image:Drupal_modulos_view_56.jpg| Escollemos o bloque creado coa vista. Prememos o botón '''Colocar bloque'''.
 +
Image:Drupal_modulos_view_57.jpg| Indicamos diferentes parámetros de configuración. Os referidos á visibilidade están explicados [http://wiki.cifprodolfoucha.es/index.php?title=DRUPAL_Tipos_de_contido#Opci.C3.B3ns_com.C3.BAns na sección de tipos de contido] da wiki. Prememos o botón de '''Guardar Bloque'''.
 +
Image:Drupal_modulos_view_58.jpg| Aparece o novo bloque na sección elixida. Prememos o botón '''Guardar Bloques'''.
 +
Image:Drupal_modulos_view_59.jpg| O resultado aparece no footer do tema.
 +
 +
</gallery>
 +
 +
 +
== Creando varios tipos de presentación dunha vista ==
 +
 +
* Sobre unha vista podemos ter múltiples 'versións' modificando os contidos, criterios, formatos,....Ao aplicar unha modificación imos poder escoller se queremos aplicala a todas as versións ou soamente á versión activa.
 +
 +
* Estas 'versións' coñécense como '''Tipos de presentacións'''.
 +
: Podemos ter os seguintes tipos:
 +
:* Presentar a vista como unha páxina.
 +
:* Presentar a vista como un bloque.
 +
:* Presentar a vista como un canal de noticias (feed RSS)
 +
:* Presentar a vista como un adxunto doutra versión de presentación da vista (pode ir diante ou detrás).
 +
:* Presentar a vista para poder ser 'incrustada' (engadida) nun contido.
 +
 +
 +
 +
<gallery caption="Creando unha vista sinxela" widths="350" heights="300px" perrow="3">
 +
Image:Drupal_modulos_view_71.jpg| Cando creamos unha vista e a editamos poder ver na parte superior as 'versións'. No exemplo temos unha vista con dúas versións: Page => pódese visualizar como unha páxina; Block: Pódese visualizar como un bloque. Se prememos no botón de '''Agregar''' podemos crear novos tipos de presentación da vista actual.
 +
Image:Drupal_modulos_view_72.jpg| Dependendo da opción de presentación elixida teredes unha sección diferente. No caso do exemplo, escollemos crear unha tipo páxina e aparece unha sección (opcións de páxina). Na opción de ruta podemos indicar o nome para despois poder cargala como contido en drupal (o que sería o alias). Como vemos na parte superior temos o novo tipo de presentación que ten de nome '''Página 2'''.
 +
Image:Drupal_modulos_view_73.jpg| Ao gardar os cambios podemos ver como agora, no listado de vistas aparecen dúas formas de cargala (a que tiñamos antes e a nova engadida).
 +
Image:Drupal_modulos_view_74.jpg| Cando cambiamos algunha das propiedades dunha das presentacións, podemos escoller se dito cambio vai afectar a todas as presentacións ou soamente á actual.
 +
Image:Drupal_modulos_view_75.jpg| Na parte da dereita, á altura do 'Nombre a mostrar' temos diferentes operacións que podemos facer sobre o tipo de presentación actual.
 +
Image:Drupal_modulos_view_76.jpg| Na parte da dereita, á altura dos tipos de presentación, dispoñemos de diferentes operacións. Indicar que se escollemos '''Eliminar vista''' vai eliminar a vista completa, non o tipo de presentación activo. Para <u>eliminar un tipo de presentación</u> debemos escoller a opción '''Reordenar presentaciones'''.
 +
</gallery>
 +
 +
 +
== Características dunha vista ==
 +
 +
* Cando creamos unha vista imos poder indicar:
 +
:* Sobre que datos imos crear a vista e que campos imos queres amosar.
 +
:* Como imos presentar eses datos (en forma de lista, cuadrícula,..)
 +
:* Que criterios de selección imos aplicar, de tal forma que soamente se amosarán aqueles datos que cumpran ditos criterios.
 +
:* Por que campos sairán ordenados.
 +
 +
[[Imagen:Drupal_modulos_view_77.jpg|400px]]
 +
 +
: Como podemos apreciar na imaxe, a parte seleccionada cun rectángulo amosa o indicado anteriormente.
 +
: Na parte superior podemos cambiar o nome da presentación premendo no enlace page e cambiando o nome. Será o mesmo nome que aparecerá na parte de arriba.
 +
 +
 +
=== Título ===
 +
 +
[[Imagen:Drupal_modulos_view_77B.jpg|300px]]
 +
 +
* Podemos facer que unha vista amose un título cando se visualice.
 +
: Se non queremos que teña ningún simplemente borramos o texto (premendo sobre o mesmo podemos modificalo).
 +
 +
 +
Podemos ver o resultado de ter o título:
 +
[[Imagen:Drupal_modulos_view_77C.jpg|center|400px]]
 +
 +
 +
 +
=== Formato ===
 +
 +
[[Imagen:Drupal_modulos_view_78.jpg|300px]]
 +
 +
* Indicamos o formato e os campos (se é o caso) que imos utilizar para amosar a información que conforma a vista.
 +
 +
: As posibilidades son as seguintes:
 +
[[Imagen:Drupal_modulos_view_79.jpg|300px]]
 +
 +
<u>Nota:</u> Dependendo dos módulos instalados vos poden aparecer máis ou menos formatos.
 +
 +
: Dependendo da opción escollida se vos amosarán diferentes opcións para personalizar dito formato.
 +
[[Imagen:Drupal_modulos_view_80.jpg|300px]]
 +
 +
<small>Exemplo de opcións de formato cando seleccionamos un formato en forma de táboa</small>
 +
 +
: Sempre podedes volver a ditas opcións dende a páxina da vista.
 +
[[Imagen:Drupal_modulos_view_81.jpg|300px]]
 +
 +
 +
* Co formato elixido indicamos que imos amosar do tipo de contido seleccionado (lembrar que unha vista se fai normalmente sobre un tipo de contido).
 +
[[Imagen:Drupal_modulos_view_83.jpg|300px]]
 +
 +
: Se prememos sobre o que está ao lado da etiqueta 'Mostrar' aparecerán diferentes posibilidades.
 +
[[Imagen:Drupal_modulos_view_84.jpg|300px]]
 +
 +
: Normalmente ides escoller ou '''Campos''' ou '''Contenido'''.
 +
:: A diferenza está en que se escolledes 'Campos' ides poder seleccionar a continuacións os campos do tipo de contido que van aparecer na vista.
 +
:: Se escolledes 'Contenido' aparecerá o contido do tipo de contido nunha das formas de presentación do tipo de contido (resumida, completa, rss...) como [http://wiki.cifprodolfoucha.es/index.php?title=DRUPAL_Tipos_de_contido#Administrar_a_presentaci.C3.B3n xa vimos na wiki].
 +
 +
* Unha vez elixido o formato, se este é campos (tamén se pode ter con contenidos, pero haberá que ir as opcións do formato), en algún deles, podemos determinar que campos do tipo de dato escollido, van a visualizarse.
 +
[[Imagen:Drupal_modulos_view_82.jpg|300px]]
 +
: Se queremos eliminar un campo engadido, teremos que escoller a opción '''Reordenar'''.
 +
 +
 +
=== Criterios de filtrado ===
 +
 +
[[Imagen:Drupal_modulos_view_85.jpg|300px]]
 +
 +
* Indicamos os criterios que teñen que cumprir os contidos para poder visualizarse na vista.
 +
 +
: Normalmente ides ter:
 +
:* O tipo de contido que queredes que forme parte da vista.
 +
:* O estado de publicación, que normalmente sempre será 'publicado'.
 +
 +
: A maiores sempre podedes engadir calquera criterios que se vos ocorra.
 +
: No exemplo aparece un criterio no que vai buscar aqueles contidos que teñan como valor nun campo que é unha referencia a un termo de taxonomía, que dito campo teña de valor 'baloncesto'.
 +
 +
: A cantidade de opcións que temos é moi grande polo que é labor do usuario buscar aquela que satisfaga as súas necesidades.
 +
 +
: Podemos '''Engadir''' novos criterios ou '''Ordenar/Eliminar''' os criterios.
 +
[[Imagen:Drupal_modulos_view_86.jpg|300px]]
 +
 +
 +
: Se eliximos ordenar:
 +
[[Imagen:Drupal_modulos_view_86.jpg|300px]]
 +
 +
: Podemos ver que por defectos os criterios están relacionados cunha relación '''Y''' (and), quere isto dicir que todas as condicións deben cumprirse para que o contido sexa seleccionado na vista.
 +
: Tamén podemos ordenar os criterios para indicar cal deles vai avaliarse primeiro, premendo na icona en forma de cruz na parte esquerda ou premendo no enlace '''Mostrar pesos de la fila'''.
 +
 +
 +
 +
=== Criterios de ordenación ===
 +
 +
[[Imagen:Drupal_modulos_view_87.jpg|300px]]
 +
 +
* Indicamos como van estar ordenados os resultados.
 +
: Ao igual que no caso anterior podemos ordenar polos mesmos campos que nos de 'Criterio de selección'.
 +
: Tamén podemos '''Engadir''' ou '''Ordenar/Eliminar''' os campos utilizados.
 +
 +
 +
== Opcións ==
 +
 +
[[Imagen:Drupal_modulos_view_87B.jpg|300px]]
 +
 +
* Dependendo do tipo de presentación que teñamos (bloque, páxina, rss,...) as opcións van variar.
 +
 +
=== Opcións de páxina ===
 +
 +
[[Imagen:Drupal_modulos_view_87B.jpg|300px]]
 +
 +
* Ruta: Indicamos a parte da url que teremos que ter para cargar a vista. Así, no exemplo teremos que poñer: http://url_drupal/lista-de-planetas
 +
* Menú: Indicamos se queremos que esta vista estea asociada a unha entrada de menú. Se prememos sobre o texto 'sen menú' aparecerán as diferentes opcións, tendo que indicar o menú sobre o que se vai crear a entrada que vai cargar esta vista.
 +
* Acceso: Neste apartado podemos indicar quen vai poder visualizar a vista.
 +
:: Se prememos sobre o texto '''Permission''' accederemos a unha pantalla con 3 opcións: Ninguno, Permission e Rol.
 +
::* Ninguno: Calquera vai poder visualizar a vista.
 +
::* Permission: Aparecerá unha opción a dereita da palabra no que poderemos escoller o permiso que terá que ter o usuario para poder visualizar a vista. Por defecto ten 'Ver contenido publicado'. Estes permisos son os que se crean cada vez que se activa un módulo en Drupal e [http://wiki.cifprodolfoucha.es/index.php?title=DRUPAL_Permisos_de_usuarios xa os vimos na unidade dos Usuarios].
 +
::* Rol: Aparecerá unha opción a dereita da palabra no que poderemos escoller os roles dos usuarios que van poder ter acceso ao contido. Lembrar que os [http://wiki.cifprodolfoucha.es/index.php?title=DRUPAL_Roles_de_usuarios roles tamén foron vistos na unidade dos usuarios].
 +
 +
=== Opcións de bloque ===
 +
 +
[[Imagen:Drupal_modulos_view_87C.jpg|300px]]
 +
 +
* Cando o  tipo de presentación é un bloque teremos as seguintes opcións:
 +
 +
:* Nome do bloque: Nome que que imos poder referenciar ao bloque cando o coloquemos nunha sección do theme actual como [http://wiki.cifprodolfoucha.es/index.php?title=DRUPAL_Bloques xa vimos na unidade de bloques].
 +
:* Categoría do bloque: E o nome que aparecerá na columna de 'Categoría' cando coloquemos o bloque nunha sección do theme.
 +
:* Permitir axustes: Cando coloquemos o bloque podemos indicar o número de elementos a amosar se está activado esta opción.
 +
 +
[[Imagen:Drupal_modulos_view_87D.jpg|center300px]]
 +
 +
 +
:* Acceso: Ten as mesmas opcións que no caso anterior.
 +
 +
=== Resto de opcións ===
 +
 +
[[Imagen:Drupal_modulos_view_87E.jpg|300px]]
 +
 +
:* Encabezado: Podemos engadir un encabezado á vista. Normalmente escolleremos a opción '''Texto sen filtrar''' e escribiremos o texto que queiramos que saia no encabezado.
 +
:* Pé de páxina: Podemos engadir un pé de páxina á vista.
 +
:* No results behavior: Que queremos visualizar no caso de que a vista non devolva resultados.
 +
:* Paginador: Diversas opcións de configuración (como o número de elementos a visualizar) no caso de que queiramos limitar o número de 'entradas' a visualizar na vista.
 +
:* Idioma: No caso de ter múltiples idiomas activos en Drupal, podemos escoller o idioma do contido en base a diferentes criterios.
  
 
== Paso de parámetros a unha vista ==
 
== Paso de parámetros a unha vista ==
Línea 29: Línea 251:
 
* Vexamos un exemplo.
 
* Vexamos un exemplo.
  
=== Caso Práctico ===
+
=== Caso Práctico 1 ===
  
 
* Imaxinemos que temos unha tenda de ordenadores e vendemos compoñentes do mesmo.  
 
* Imaxinemos que temos unha tenda de ordenadores e vendemos compoñentes do mesmo.  
Línea 70: Línea 292:
 
Image:Drupal_modulos_view_15.jpg| O resultado agora de amosar a vista creada é unha lista de tipos de produto có número de cada tipo.  
 
Image:Drupal_modulos_view_15.jpg| O resultado agora de amosar a vista creada é unha lista de tipos de produto có número de cada tipo.  
 
Image:Drupal_modulos_view_16.jpg| Se prememos sobre un tipo de produto aparecerá a táboa anterior pero só cos datos do tipo seleccionado.
 
Image:Drupal_modulos_view_16.jpg| Se prememos sobre un tipo de produto aparecerá a táboa anterior pero só cos datos do tipo seleccionado.
 +
</gallery>
 +
 +
 +
=== Caso Práctico 2 ===
 +
 +
* Imaxinemos que temos una lista de termos de taxonomía dun vocabulario determinado.
 +
 +
[[Imagen:Drupal_taxonomia_17.jpg|400px]]
 +
 +
: Podemos crear agora unha vista de tipo bloque que amose ditos termos nunha das seccións dispoñibles polo tema.
 +
: Se o facemos co que sabemos ata o de agora poderemos ter un resultado parecido a isto:
 +
 +
[[Imagen:Drupal_taxonomia_27.jpg|400px]]
 +
 +
* Como podemos facer para que so aparezan os termos de primeiro nivel ?
 +
 +
: Existen varias formas:
 +
:* Podemos engadir un criterio de selección á vista e amosar só os termos que teñan un peso (previamente asinado) de 1, por exemplo.
 +
:* Outra forma é engadir un parámetro á vista, para que busque aqueles termos que teñan un valor de termo <u>no seu pai</u> de 0 (isto é, os termos de primeiro nivel).
 +
 +
* Vexamos como se fai:
 +
 +
<gallery caption="Pasando un parámetro a unha vista" widths="350" heights="300px" perrow="2">
 +
Image:Drupal_modulos_view_60.jpg| Creamos unha vista baseada nos termos do vocabulario de deportes. Prememos 'Guardar y editar'
 +
Image:Drupal_modulos_view_61.jpg| Dámoslle un nome ao bloque para poder referencialo despois na sección de bloques do tema. Prememos na sección '''Avanzada''' e prememos o botón '''Aádir''' da sección '''Filtros contextuales'''.
 +
Image:Drupal_modulos_view_62.jpg| Buscamos polos filtros de tipo '''Término de taxonomía''' e seleccionamos o filtro '''Término padre'''. Prememos o botón '''Agregar y configurar filtros contextuales'''.
 +
Image:Drupal_modulos_view_63.jpg| Indicamos o valor predeterminado para o parámetro 'Término padre' de cero, polo que vai buscar os termos que non teñan pai (os de nivel 0). Prememos o botón '''Apply'''.
 +
Image:Drupal_modulos_view_64.jpg| Prememos o botón '''Guardar''' da vista.
 +
Image:Drupal_modulos_view_65.jpg| Imos á '''disposición de bloques''' do tema seleccionado.
 +
Image:Drupal_modulos_view_66.jpg| Prememos no botón '''Colocar bloque''' da sección onde queremos que apareza.
 +
Image:Drupal_modulos_view_67.jpg| Buscamos o bloque que representa a vista.
 +
Image:Drupal_modulos_view_68.jpg| Prememos o botón '''Guardar el bloque'''.
 +
Image:Drupal_modulos_view_69.jpg| Prememos o botón '''Guardar bloques'''.
 +
Image:Drupal_modulos_view_70.jpg| Vemos o resultado.
 +
 
</gallery>
 
</gallery>
  
Línea 111: Línea 368:
  
  
<gallery caption="Creando o tipo de contido <b>Profesores do Centro</b>" widths="350" heights="300px" percol="3">
+
<gallery caption="Creando o tipo de contido Profesores do Centro" widths="350" heights="300px" perrow="2">
 
Image:Drupal modulos view 17.jpg| Creamos o tipo de contido 'Profesores Centro' (na imaxe aparece editar porque xa estaba creado cando capturei a imaxe).
 
Image:Drupal modulos view 17.jpg| Creamos o tipo de contido 'Profesores Centro' (na imaxe aparece editar porque xa estaba creado cando capturei a imaxe).
 
Image:Drupal_modulos_view_18.jpg| Campos que conforman o tipo de contido.
 
Image:Drupal_modulos_view_18.jpg| Campos que conforman o tipo de contido.
 
Image:Drupal_modulos_view_19.jpg| Visualización do formulario de entrada de datos.
 
Image:Drupal_modulos_view_19.jpg| Visualización do formulario de entrada de datos.
Image:Drupal_modulos_view_20.jpg| Visualización da presentación dos datos..
+
Image:Drupal_modulos_view_20.jpg| Visualización da presentación dos datos.
 
</gallery>
 
</gallery>
 +
 
<br/>
 
<br/>
<gallery caption="Creando o tipo de contido <b>Módulos do Centro</b>" widths="350" heights="300px" perrow="3">
+
 
 +
<gallery caption="Creando o tipo de contido Módulos do Centro" widths="350" heights="300px" perrow="2">
 
Image:Drupal modulos view 21.jpg| Creamos o tipo de contido 'Módulos do Centro' (na imaxe aparece editar porque xa estaba creado cando capturei a imaxe).
 
Image:Drupal modulos view 21.jpg| Creamos o tipo de contido 'Módulos do Centro' (na imaxe aparece editar porque xa estaba creado cando capturei a imaxe).
 
Image:Drupal_modulos_view_22.jpg| Campos que conforman o tipo de contido.
 
Image:Drupal_modulos_view_22.jpg| Campos que conforman o tipo de contido.
Línea 128: Línea 387:
 
<br/>  
 
<br/>  
 
* Introducimos varios datos de cada tipo de contido, intentando que a lo menos un profesor imparta dous módulos...
 
* Introducimos varios datos de cada tipo de contido, intentando que a lo menos un profesor imparta dous módulos...
 +
 
<br/>
 
<br/>
<gallery caption="Creando a relación na vista</b>" widths="350" heights="300px" perrow="3">
+
<gallery caption="Creando a relación na vista" widths="350" heights="300px" perrow="3">
 
Image:Drupal modulos view 25B.jpg| Creamos unha nova vista de nome 'Profesor_Módulo'. Modificamos os datos indicados na imaxe.
 
Image:Drupal modulos view 25B.jpg| Creamos unha nova vista de nome 'Profesor_Módulo'. Modificamos os datos indicados na imaxe.
 
Image:Drupal_modulos_view_26.jpg| Os datos que teremos son os indicados na imaxe. O único campo que se amosa polo de agora é o nome do profesor, que está enlazado cos datos do mesmo.
 
Image:Drupal_modulos_view_26.jpg| Os datos que teremos son os indicados na imaxe. O único campo que se amosa polo de agora é o nome do profesor, que está enlazado cos datos do mesmo.
Línea 142: Línea 402:
 
Image:Drupal_modulos_view_30.jpg| Importante, gardamos os cambios antes de seguir.
 
Image:Drupal_modulos_view_30.jpg| Importante, gardamos os cambios antes de seguir.
 
Image:Drupal_modulos_view_35.jpg| Se visualizamos a páxina teremos o resultado correcto.
 
Image:Drupal_modulos_view_35.jpg| Se visualizamos a páxina teremos o resultado correcto.
 +
 +
 +
</gallery>
 +
 +
 +
* Aplicando o aprendido anteriormente tamén poderíamos 'agrupar' o listado de Profesor-Módulo para que saian soamente os profesores nunha lista, indicando o número de módulos que imparte cada un deles e ao premer que apareza a táboa anterior.
 +
 +
<gallery caption="Creando a relación na vista" widths="350" heights="300px" perrow="3">
 +
Image:Drupal modulos view 36.jpg| Prememos sobre a vista anterior e seleccionamos a opción '''Duplicado'''.
 +
Image:Drupal modulos view 37.jpg| Indicamos o nome da nova vista e prememos  o botón '''Duplicado'''.
 +
Image:Drupal modulos view 38.jpg| Engadimos un filtro contextual.
 +
Image:Drupal modulos view 39.jpg| Seleccionamos o campo 'Nome do profesor' do tipo de contido '''Profesores do Centro'.
 +
Image:Drupal modulos view 40.jpg| Eliximos 'Mostrar en Resumen' poñendo todas as palabras en maiúsculas no texto de saída.
 +
Image:Drupal_modulos_view_30.jpg| Importante, gardamos os cambios antes de seguir.
 +
Image:Drupal_modulos_view_41.jpg| Cambiamos a URL.
 +
Image:Drupal_modulos_view_42.jpg| Vemos o resultado.
 +
</gallery>
 +
 +
 +
 +
== Ampliando funcionalidades ==
 +
 +
* En Drupal podemos combinar a potencia do módulo View con outros módulos que se integran con el.
 +
 +
:* '''[https://www.drupal.org/project/views_slideshow Módulo Views Slideshow]''': Permite crear vistas no que o seu contido é un slideshow que vai amosar calquera contido no seu interior (non so imaxes).
 +
:* '''[https://www.drupal.org/project/calendar Módulo Calendar]''': Permite integrar un calendario nunha vista. [http://wiki.cifprodolfoucha.es/index.php?title=DRUPAL_Tipos_de_contido#M.C3.B3dulo_Calendar Xa visto na wiki].
 +
:* '''[https://www.drupal.org/project/views_data_export Módulo view data export]''': Permite exportar o contido dunha vista a un arquivo csv, txt, xml ou folla de cálculo.
 +
  
  
Línea 149: Línea 437:
  
  
</gallery>
 
  
  
 
<br> -- [[Usuario:angelfg|Ángel D. Fernández González]] -- (2016).
 
<br> -- [[Usuario:angelfg|Ángel D. Fernández González]] -- (2016).

Revisión actual del 11:12 17 dic 2016

Introdución

  • Porqué é tan importante este módulo ? Con este módulo imos poder facer 'consultas' á base de datos de Drupal (onde se gardan todos os contidos) e crear un novo contido a partires de dita consulta.
  • Imos poder determinar:
  • O orixe de datos de onde obtemos a información.
  • Os campos que conforman a consulta.
  • As condicións que queremos que cumpran os campos para entrar na vista.
  • Podemos engadir criterios de ordenación.
  • Por exemplo:
  • Imaxinemos que temos un sitio web de traballos. Cun view podemos obter unha nova páxina que obteña os traballos dunha categoría determinada e que os amose nunha táboa de forma ordenada por data.
  • Imaxinemos que temos un sitio web de produtos e queremos crear unha páxina na que se amose en forma de Grid os produtos dun tipo determinado. Queremos que cada produto do grid amose o seu nome e prezo e que cando se preme sobre o nome vaiamos á páxina do produto. Queremos que o grid sexa 3x3 e con paxinación.
  • Como vemos os Views van permitirnos facer consultas como se fixeramos consultas SQL contra unha base de datos, pero non só vai devolver os contidos, se non que vai a establecer un formato de presentación deses contidos (con filtrado e ordeación) e o resultado vai poder ser unha páxina, un bloque para poñer nalgunha sección do Theme,...


  • Para acceder ao módulo View temos que ir a opción de menú Administrar => Estructuras e escoller a opción Vistas:
Drupal modulos view 43.jpg


Creando unha vista sinxela

  • NOTA: Esta sección está asociada á realización dun EXERCICIO.



  • O número de posibilidades que nos ofrece dito módulo é inmenso. Imos facer un exemplo de creación de vista o máis sinxela posible.

Caso práctico 1: Creando unha vista asociada a unha páxina

  • Imaxinemos que temos unha serie de artigos publicados, por exemplo deportivos (valería para calquera tipo de contido).
Cada artigo terá unha serie de etiquetas (dentro dun vocabulario) para relacionar o seu contido. Por exemplo, podemos ter varios artigos de baloncesto e outros de hockey.


  • Podemos crear unha vista que amose todos os artigos dun tipo determinado, por exemplo baloncesto.

Caso práctico 2: Creando unha vista de termos de taxonomía asociada a un bloque

  • Imaxinemos que temos unha serie de artigos publicados, por exemplo deportivos (valería para calquera tipo de contido).
Cada artigo terá unha serie de etiquetas (dentro dun vocabulario) para relacionar o seu contido. Por exemplo, podemos ter varios artigos de baloncesto e outros de hockey.


  • Podemos crear unha vista que amose todos os artigos dun tipo determinado, por exemplo hockey, pero dentro dun bloque e situado nunha rexión do tema actual.
Nota: Lembrar que o tema é a aparencia do sitio web. Dentro dun tema temos rexións e en cada rexión poden situarse bloques ou contidos. Isto está explicado no tema Themes en Drupal.


Creando varios tipos de presentación dunha vista

  • Sobre unha vista podemos ter múltiples 'versións' modificando os contidos, criterios, formatos,....Ao aplicar unha modificación imos poder escoller se queremos aplicala a todas as versións ou soamente á versión activa.
  • Estas 'versións' coñécense como Tipos de presentacións.
Podemos ter os seguintes tipos:
  • Presentar a vista como unha páxina.
  • Presentar a vista como un bloque.
  • Presentar a vista como un canal de noticias (feed RSS)
  • Presentar a vista como un adxunto doutra versión de presentación da vista (pode ir diante ou detrás).
  • Presentar a vista para poder ser 'incrustada' (engadida) nun contido.



Características dunha vista

  • Cando creamos unha vista imos poder indicar:
  • Sobre que datos imos crear a vista e que campos imos queres amosar.
  • Como imos presentar eses datos (en forma de lista, cuadrícula,..)
  • Que criterios de selección imos aplicar, de tal forma que soamente se amosarán aqueles datos que cumpran ditos criterios.
  • Por que campos sairán ordenados.

Drupal modulos view 77.jpg

Como podemos apreciar na imaxe, a parte seleccionada cun rectángulo amosa o indicado anteriormente.
Na parte superior podemos cambiar o nome da presentación premendo no enlace page e cambiando o nome. Será o mesmo nome que aparecerá na parte de arriba.


Título

Drupal modulos view 77B.jpg

  • Podemos facer que unha vista amose un título cando se visualice.
Se non queremos que teña ningún simplemente borramos o texto (premendo sobre o mesmo podemos modificalo).


Podemos ver o resultado de ter o título:

Drupal modulos view 77C.jpg


Formato

Drupal modulos view 78.jpg

  • Indicamos o formato e os campos (se é o caso) que imos utilizar para amosar a información que conforma a vista.
As posibilidades son as seguintes:

Drupal modulos view 79.jpg

Nota: Dependendo dos módulos instalados vos poden aparecer máis ou menos formatos.

Dependendo da opción escollida se vos amosarán diferentes opcións para personalizar dito formato.

Drupal modulos view 80.jpg

Exemplo de opcións de formato cando seleccionamos un formato en forma de táboa

Sempre podedes volver a ditas opcións dende a páxina da vista.

Drupal modulos view 81.jpg


  • Co formato elixido indicamos que imos amosar do tipo de contido seleccionado (lembrar que unha vista se fai normalmente sobre un tipo de contido).

Drupal modulos view 83.jpg

Se prememos sobre o que está ao lado da etiqueta 'Mostrar' aparecerán diferentes posibilidades.

Drupal modulos view 84.jpg

Normalmente ides escoller ou Campos ou Contenido.
A diferenza está en que se escolledes 'Campos' ides poder seleccionar a continuacións os campos do tipo de contido que van aparecer na vista.
Se escolledes 'Contenido' aparecerá o contido do tipo de contido nunha das formas de presentación do tipo de contido (resumida, completa, rss...) como xa vimos na wiki.
  • Unha vez elixido o formato, se este é campos (tamén se pode ter con contenidos, pero haberá que ir as opcións do formato), en algún deles, podemos determinar que campos do tipo de dato escollido, van a visualizarse.

Drupal modulos view 82.jpg

Se queremos eliminar un campo engadido, teremos que escoller a opción Reordenar.


Criterios de filtrado

Drupal modulos view 85.jpg

  • Indicamos os criterios que teñen que cumprir os contidos para poder visualizarse na vista.
Normalmente ides ter:
  • O tipo de contido que queredes que forme parte da vista.
  • O estado de publicación, que normalmente sempre será 'publicado'.
A maiores sempre podedes engadir calquera criterios que se vos ocorra.
No exemplo aparece un criterio no que vai buscar aqueles contidos que teñan como valor nun campo que é unha referencia a un termo de taxonomía, que dito campo teña de valor 'baloncesto'.
A cantidade de opcións que temos é moi grande polo que é labor do usuario buscar aquela que satisfaga as súas necesidades.
Podemos Engadir novos criterios ou Ordenar/Eliminar os criterios.

Drupal modulos view 86.jpg


Se eliximos ordenar:

Drupal modulos view 86.jpg

Podemos ver que por defectos os criterios están relacionados cunha relación Y (and), quere isto dicir que todas as condicións deben cumprirse para que o contido sexa seleccionado na vista.
Tamén podemos ordenar os criterios para indicar cal deles vai avaliarse primeiro, premendo na icona en forma de cruz na parte esquerda ou premendo no enlace Mostrar pesos de la fila.


Criterios de ordenación

Drupal modulos view 87.jpg

  • Indicamos como van estar ordenados os resultados.
Ao igual que no caso anterior podemos ordenar polos mesmos campos que nos de 'Criterio de selección'.
Tamén podemos Engadir ou Ordenar/Eliminar os campos utilizados.


Opcións

300px

  • Dependendo do tipo de presentación que teñamos (bloque, páxina, rss,...) as opcións van variar.

Opcións de páxina

300px

  • Ruta: Indicamos a parte da url que teremos que ter para cargar a vista. Así, no exemplo teremos que poñer: http://url_drupal/lista-de-planetas
  • Menú: Indicamos se queremos que esta vista estea asociada a unha entrada de menú. Se prememos sobre o texto 'sen menú' aparecerán as diferentes opcións, tendo que indicar o menú sobre o que se vai crear a entrada que vai cargar esta vista.
  • Acceso: Neste apartado podemos indicar quen vai poder visualizar a vista.
Se prememos sobre o texto Permission accederemos a unha pantalla con 3 opcións: Ninguno, Permission e Rol.
  • Ninguno: Calquera vai poder visualizar a vista.
  • Permission: Aparecerá unha opción a dereita da palabra no que poderemos escoller o permiso que terá que ter o usuario para poder visualizar a vista. Por defecto ten 'Ver contenido publicado'. Estes permisos son os que se crean cada vez que se activa un módulo en Drupal e xa os vimos na unidade dos Usuarios.
  • Rol: Aparecerá unha opción a dereita da palabra no que poderemos escoller os roles dos usuarios que van poder ter acceso ao contido. Lembrar que os roles tamén foron vistos na unidade dos usuarios.

Opcións de bloque

300px

  • Cando o tipo de presentación é un bloque teremos as seguintes opcións:
  • Nome do bloque: Nome que que imos poder referenciar ao bloque cando o coloquemos nunha sección do theme actual como xa vimos na unidade de bloques.
  • Categoría do bloque: E o nome que aparecerá na columna de 'Categoría' cando coloquemos o bloque nunha sección do theme.
  • Permitir axustes: Cando coloquemos o bloque podemos indicar o número de elementos a amosar se está activado esta opción.

center300px


  • Acceso: Ten as mesmas opcións que no caso anterior.

Resto de opcións

Drupal modulos view 87E.jpg

  • Encabezado: Podemos engadir un encabezado á vista. Normalmente escolleremos a opción Texto sen filtrar e escribiremos o texto que queiramos que saia no encabezado.
  • Pé de páxina: Podemos engadir un pé de páxina á vista.
  • No results behavior: Que queremos visualizar no caso de que a vista non devolva resultados.
  • Paginador: Diversas opcións de configuración (como o número de elementos a visualizar) no caso de que queiramos limitar o número de 'entradas' a visualizar na vista.
  • Idioma: No caso de ter múltiples idiomas activos en Drupal, podemos escoller o idioma do contido en base a diferentes criterios.

Paso de parámetros a unha vista

  • NOTA: Esta sección está asociada á realización dun EXERCICIO.



  • Pode suceder que teñamos unha vista con datos dun tipo determinado e queiramos que ditos datos aparezan filtrados por un campo da vista, de tal forma que apareza previamente un resumo có número de elementos que teñen un valor determinado para ese campo, e que ao premer aparezan a lista de elementos da vista que teñan ese dato.
  • Vexamos un exemplo.

Caso Práctico 1

  • Imaxinemos que temos unha tenda de ordenadores e vendemos compoñentes do mesmo.
  • A vista de nome produtos_informaticos ten os seguintes campos:
  • nome
  • prezo
  • tipo, sendo tipo unha lista cos seguintes valores: CPU, Memoria, Hard Disk.


  • Unha vez engadidos, crearemos unha vista en forma de táboa para que amose os produtos. Polo tanto iremos a Administrar => Estructura => Vistas e crearemos unha nova vista.


NOTA IMPORTANTE: Fixarse como DRUPAL envía os datos dos parámetros na URL. Así se escollo CPU a url terá este aspecto: http://localhost/drupal/lista-de-produtos-informaticos/cpu


  • O que imos facer agora é que se nos amose unha lista de 'tipos de produto' có número de produtos de cada tipo e que ao premer aparece unha táboa como a anterior pero só do tipo de produto seleccionado. Polo tanto é como se pasáramos un parámetro á vista para que escolla os dun tipo. Vería a ser a parte where dunha sentenza SQL.


Caso Práctico 2

  • Imaxinemos que temos una lista de termos de taxonomía dun vocabulario determinado.

Drupal taxonomia 17.jpg

Podemos crear agora unha vista de tipo bloque que amose ditos termos nunha das seccións dispoñibles polo tema.
Se o facemos co que sabemos ata o de agora poderemos ter un resultado parecido a isto:

Drupal taxonomia 27.jpg

  • Como podemos facer para que so aparezan os termos de primeiro nivel ?
Existen varias formas:
  • Podemos engadir un criterio de selección á vista e amosar só os termos que teñan un peso (previamente asinado) de 1, por exemplo.
  • Outra forma é engadir un parámetro á vista, para que busque aqueles termos que teñan un valor de termo no seu pai de 0 (isto é, os termos de primeiro nivel).
  • Vexamos como se fai:

Relacións

  • Pode suceder que necesitemos relacionar un tipo de contido con outro para crear unha vista no que haia campos dos dous contidos.
  • Para que isto sexa correcto normalmente teremos que ter algunha relación entre os dous tipos de contido.
  • Nota: Isto sería o equivalente a facer un JOIN en SQL (relacionamos dúas táboas a través das súas claves primaria-foránea).
  • Por exemplo, pode ter un tipo de contido no que gardo información sobre Coches que se gardan nun garaxe. Cada coche está 'relacionado' co seu dono. Por outra banda teño os donos cos seus datos (teléfono, dirección,...). Cando dou de alta un coche, asocio dito coche a un dono, escollendo o dono,por exemplo, dunha lista (isto xa o fixemos no punto anterior).
Pero resulta que necesito unha vista na que aparezan de vez os datos do coche xunto co nome e teléfono do dono, sen ter que premer sobre o dono para que me amose dito dato.
Necesitamos por tanto 'relacionar' o coche cos donos dentro da vista, e a relación a faremos por medio do identificar do dono, xa que este se atopa nos dous tipos de contidos.
  • Vexamos un exemplo.

Caso Práctico

  • Imaxinemos que temos dous tipos de contido:
  • Tipo de contido: Profesores do Centro (cos seguintes campos)
  • Titulo (aparece cando se crea o tipo de contido)
  • Nome
  • Foto (se lle aplica un filtro para reducir o seu tamaño a 260x260)
  • Campo comentarios
Todos os campos son obrigatorios.
  • Tipo de contido: Módulos do Centro (cos seguintes campos)
  • Titulo (aparece cando se crea o tipo de contido)
  • Nome do Módulo: Texto sen formato.
  • Número de Horas: Número entero cun mínimo dunha hora.
  • Ciclo ao que pertence: Lista de selección cos seguintes datos: ASI, DAW e DAM. Só se pode seleccionar un. Se podería crear outro tipo de contido (Ciclos) e crear unha referencia a dito tipo.
  • Profesor que imparte: fai referencia a entidade 'Profesor do Centro' creado antes.
Todos os campos son obrigatorios.
  • Este último campo é o que nos vai servir de 'enlace' entre o tipo 'Profesores do Centro' e 'Módulos do Centro'.





  • Introducimos varios datos de cada tipo de contido, intentando que a lo menos un profesor imparta dous módulos...



  • Aplicando o aprendido anteriormente tamén poderíamos 'agrupar' o listado de Profesor-Módulo para que saian soamente os profesores nunha lista, indicando o número de módulos que imparte cada un deles e ao premer que apareza a táboa anterior.


Ampliando funcionalidades

  • En Drupal podemos combinar a potencia do módulo View con outros módulos que se integran con el.







-- Ángel D. Fernández González -- (2016).