{"id":1998,"date":"2019-07-29T07:00:40","date_gmt":"2019-07-29T07:00:40","guid":{"rendered":"https:\/\/understanddrupal.com\/2021\/12\/05\/what-is-a-view-in-drupal-how-do-they-work\/"},"modified":"2022-04-24T03:41:12","modified_gmt":"2022-04-24T03:41:12","slug":"que-es-una-vista-en-drupal-como-funcionan","status":"publish","type":"post","link":"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/","title":{"rendered":"\u00bfQu\u00e9 es una vista en Drupal? \u00bfC\u00f3mo funcionan?"},"content":{"rendered":"\n<p>En Drupal, una&nbsp;<strong>vista<\/strong>&nbsp;es un listado de informaci\u00f3n. Esta puede ser una lista de nodos, usuarios, comentarios, t\u00e9rminos de taxonom\u00eda, etc. Una vista escan\u00e9a tu sitio web usando cualquier criterio que especifiques y presenta los resultados en el formato de tu preferencia. Ejemplos de formato incluyen una table HTML, un feed RSS, un documento PDF, un documento CSV, un mapa interactivo, un carrusel de im\u00e1genes, o una representaci\u00f3n JSON a ser usada mediante un API REST. El mismo contenido se puede presentar en m\u00faltiples formatos al mismo tiempo. Por ejemplo, puedes presentar una table de informaci\u00f3n de usuarios y en la misma p\u00e1gina un enlace de descarga de los datos en formato CSV.<\/p>\n\n\n\n<p>Continuemos nuestro trayecto de aprender m\u00e1s conceptos de Drupal. Como habr\u00e1s podido notar, se relacionan unos con otros. Hoy, aprender\u00e1s como&nbsp;<a href=\"https:\/\/understanddrupal.com\/es\/node\/1\"><strong>nodos<\/strong>,&nbsp;<strong>tipos de contenido<\/strong><\/a>&nbsp;y&nbsp;<a href=\"https:\/\/understanddrupal.com\/es\/node\/2\"><strong>campos<\/strong><\/a>&nbsp;pueden usarse como parte de configuraciones de vistas. Tambi\u00e9n, encontrar\u00e1s ejemplos de&nbsp;<a href=\"https:\/\/understanddrupal.com\/es\/node\/3\"><strong>bloques<\/strong><\/a>&nbsp;que son creados usando vistas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-aprendiendo-terminologia-de-vistas\">Aprendiendo terminolog\u00eda de Vistas<\/h2>\n\n\n\n<p>Hay tres conceptos clave que debes conocer: el m\u00f3dulo&nbsp;<strong>Views<\/strong>, el m\u00f3dulo&nbsp;<strong>Views UI<\/strong>, y una instancia de una&nbsp;<strong>vista<\/strong>. El m\u00f3dulo&nbsp;<strong>Views<\/strong>&nbsp;(Vistas) es el motor de todo el sistema. En ocasiones descrito como un fabricador de consultas SQL, permite extraer datos almacenados en la base de datos de Drupal, ensamblar una lista de resultados, y presentarlos en varios formatos de salida. Uno de los grandes beneficios que provee es que los constructores de sitios no necesitan saber SQL o detalles sobre la estructura de base de datos. Tener conocimiento b\u00e1sico de conceptos de Drupal como nodos, tipos de contenido y campos es m\u00e1s que suficiente en la mayor\u00eda de los casos. Usando el m\u00f3dulos Views UI es posible instancias de vistas las cuales encapsulan la configuraci\u00f3n de qu\u00e9 elementos mostrar y c\u00f3mo.<\/p>\n\n\n\n<p>El m\u00f3dulo&nbsp;<strong>Views UI<\/strong>&nbsp;(Vistas UI) es la interfaz de usuario visual del sistema. Este ofrece un asistente de formulario que te gu\u00eda en el proceso de creaci\u00f3n y configuraci\u00f3n de una vista. Una vez que todas las vistas para un sitio han sido creadas, el m\u00f3dulo Views UI puede desinstalado y las instancias individuales de vistas seguir\u00e1n funcionando. Por un lado, ganas un poco de rendimiento pues hay menos c\u00f3digo a ejecutar al cargar una p\u00e1gina. Pero m\u00e1s importante, los editores no podr\u00e1n modificar las configuraciones de las vistas usando la interfaz administrativa en ambientes de producci\u00f3n. Los constructores de sitios podr\u00e1n continuar haciendo cambios en los ambientes de desarrollo a medida que sea necesario. Luego, pueden mandar sus cambios como parte de sus procedimientos habituales de despliegue de configuraci\u00f3n.<\/p>\n\n\n\n<p>La instancia de una&nbsp;<strong>vista<\/strong>&nbsp;es un conjunto de configuraciones que describen c\u00f3mo datos en Drupal van a ser recolectados y presentados a los visitantes del sitio. Una misma vista puede tener m\u00faltiples&nbsp;<strong>presentaciones<\/strong>. Algunas presentaciones posibles incluyen una&nbsp;<em>p\u00e1gina<\/em>&nbsp;(page) disponible bajo cierta&nbsp;<em>ruta<\/em>&nbsp;de URL, un&nbsp;<em>bloque<\/em>&nbsp;que ser\u00e1 colocado en una&nbsp;<em>regi\u00f3n de tema<\/em>, o un&nbsp;<em>agregador<\/em>&nbsp;(feed) a ser exportado en formatos&nbsp;<em>RSS<\/em>&nbsp;u&nbsp;<em>OPML<\/em>. Cada tipo de presentaci\u00f3n te permitir\u00e1 especificar un&nbsp;<strong>formato<\/strong>&nbsp;de salida. Los posibles valores dependen seg\u00fan el tipo de&nbsp;<em>presentaci\u00f3n<\/em>. En el caso de la presentaci\u00f3n de p\u00e1gina alternativas v\u00e1lidas incluyen&nbsp;<em>listas sin formato<\/em>,&nbsp;<em>tablas<\/em>,&nbsp;<em>listas HTML<\/em>&nbsp;y&nbsp;<em>cuadr\u00edculas<\/em>. Las presentaciones y formatos de salida son provistos por m\u00f3dulos. A medidas que habilitas m\u00e1s m\u00f3dulos del n\u00facleo o instalas nuevos m\u00f3dulos contribuidos, puede obtener m\u00e1s opciones. Vista esta p\u00e1gina para una&nbsp;<a href=\"https:\/\/www.drupal.org\/documentation\/modules\/views\/add-ons\">lista de m\u00f3dulos que extienden la funcionalidad de Vistas<\/a>.<\/p>\n\n\n\n<p><em>Consejo:<\/em>&nbsp;La interfaz de usuario de vistas (Views UI) contiene algunas inconsistencias que te pueden confundir si no est\u00e1s familiarizado con ellas. Una es que se utiliza la palabra \u201c<em>Contenido<\/em>\u201d&nbsp; para hacer referencia a nodos, como en la primera p\u00e1gina del asistente de creaci\u00f3n de vistas. Otra es que, a diferencia de la configuraci\u00f3n \u201cAlias de URL\u201d de la p\u00e1gina de edici\u00f3n de nodos, la configuraci\u00f3n de&nbsp;<em>ruta<\/em>&nbsp;de la vista no produce un error de validaci\u00f3n si este no empieza con una s\u00edmbolo de barra (\/). Estas y otras sutiles diferencias existen, pero son poco significativas si consideramos todos los beneficios que nos da el sistema en general.<\/p>\n\n\n\n<p><em>Nota t\u00e9cnica:<\/em>&nbsp;Es posible ver la consulta SQL que Drupal ejecuta para extraer la lista de resultados. Ve a la p\u00e1gina \u201cConfiguraciones de vistas\u201d ubicada en \/admin\/structure\/views\/settings y selecciona la opci\u00f3n \u201cMostrar la consulta SQL\u201d de la secci\u00f3n \u201cConfiguraci\u00f3n de vista previa en vivo\u201d Luego puedes ir a cualquier vista y cuando presiones el bot\u00f3n \u201cVista previa de la actualizaci\u00f3n\u201d ver\u00e1s la consulta SQL que Drupal env\u00eda. Como un ejemplo, dale un vistazo a la vista que muestra la p\u00e1gina inicial configurada en \/admin\/structure\/views\/view\/frontpage Nota que los nombres de tablas aparecen entre s\u00edmbolos de llaves (<strong>{}<\/strong>). Esto es porque Drupal permite definir&nbsp;<a href=\"https:\/\/www.drupal.org\/node\/2622\">prefijos de tablas<\/a>&nbsp;para compartir la base de datos con otras aplicaciones. A pesar que&nbsp;<a href=\"https:\/\/www.drupal.org\/project\/drupal\/issues\/2551549\">esto rara vez es \u00fatil<\/a>, es posible configurarlos. Para trabajar con esto, el API de Vistas usa las llaves para indicar que los nombres de las tablas deben ser procesados para a\u00f1adir los prefijos de tabla en caso que se hayan especificados.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-como-funcionan-las-vistas-en-drupal\">\u00bfC\u00f3mo funcionan las vistas en Drupal?<\/h2>\n\n\n\n<p>Esta secci\u00f3n asume que el m\u00f3dulo Views UI est\u00e1 habilitado. Para crear una vista la p\u00e1gina \u201cAgregar vista\u201d ubicada en \/admin\/structure\/views\/add. En \u201cOpciones de vista &gt; Mostrar\u201d debes seleccionar que tipo de listado deseas crear: contenido (nodos), usuarios, comentarios, archivos, etc. Tambi\u00e9n puedes indicar c\u00f3mo quieres presentar los resultados: una p\u00e1gina con un feed RSS opcional o un bloque. Despu\u00e9s de este formulario inicial se presenta la interfaz de configuraci\u00f3n completa donde las opciones de lo que puedes hacer son virtualmente infinitas. La selecci\u00f3n inicial de qu\u00e9 quieres mostrar (contenido, usuarios, etc.) no se puede cambiar despu\u00e9s de ser establecida porque sirve como tabla base a usar para recolectar los datos. Excepto por eso y el&nbsp;<em>nombre de sistema<\/em>&nbsp;de la vista, todas las configuraciones se puede cambiar en cualquier momento usando esta interfaz- En lugar de crear una vista desde cero, veamos algunos ejemplos que vienen con el perfil de instalaci\u00f3n est\u00e1ndar de Drupal. Esto nos permitir\u00e1 entender mejor c\u00f3mo funciona la interfaz de Views UI.<\/p>\n\n\n\n<p>La vista de&nbsp;<em>p\u00e1gina inicial<\/em>&nbsp;(frontpage) se configura en \/admin\/structure\/views\/view\/frontpage. Viene con dos presentaciones:&nbsp;<em>p\u00e1gina<\/em>&nbsp;(page) y&nbsp;<em>agregador<\/em>&nbsp;(feed). La p\u00e1gina estar\u00e1 disponible en la&nbsp;<strong>ruta<\/strong>&nbsp;\/node con un&nbsp;<strong>formato<\/strong>&nbsp;de&nbsp;<em>lista sin formato<\/em>. Se va a&nbsp;<strong>mostrar<\/strong>&nbsp;<em>Contenido (nodos)<\/em>&nbsp;usando el&nbsp;<strong>modo de visualizaci\u00f3n<\/strong>&nbsp;(view mode)&nbsp;<em>resumen<\/em>. Porque estamos mostrando un modo de visualizaci\u00f3n, no hay&nbsp;<strong>campos<\/strong>&nbsp;individuales a presentar.&nbsp;Usar modos de visualizaci\u00f3n es preferible que mostrar campos. Una raz\u00f3n es porque se beneficia de cach\u00e9s a nivel de entidades.&nbsp;La secci\u00f3n&nbsp;<strong>criterios de filtrado<\/strong>&nbsp;especifica las condiciones que deben cumplir los nodos para aparecer en la lista final de resultados. En este caso, el nodo debe estar&nbsp;<em>publicado<\/em>&nbsp;y&nbsp;<em>promocionado a la p\u00e1gina inicial<\/em>. Nota que no hay un criterio de filtrado para el tipo de contenido. Sin embargo, en una instalaci\u00f3n de Drupal por defecto todos los&nbsp;<em>art\u00edculos<\/em>&nbsp;aparecen en la p\u00e1gina inicial y ninguna&nbsp;<em>p\u00e1gina b\u00e1sica<\/em>&nbsp;se muestra ah\u00ed. La raz\u00f3n es que, por defecto, los art\u00edculos est\u00e1n configurados para ser promocionados a la p\u00e1gina inicial mientras que las p\u00e1ginas b\u00e1sicas no.<\/p>\n\n\n\n<p>De vuelta a la interfaz de Views UI para la vista de p\u00e1gina inicial, en la secci\u00f3n&nbsp;<strong>criterio de ordenaci\u00f3n<\/strong>&nbsp;podemos ver dos valores. El primero hace que aparezcan de primero aquellos los nodos marcados con el estado&nbsp;<em>fijo al comienzo de las listas<\/em>. El segundo ordenar\u00e1 los nodos en base a la&nbsp;<em>fecha<\/em>&nbsp;de creaci\u00f3n. Cuando hay m\u00e1s de criterio de ordenaci\u00f3n, el orden en que se definen es importante. Cualquier criterio que aparezca primero en la lista tomar\u00e1 precedencia sobre aquellos que se definen luego. Esta presentaci\u00f3n de vista es usado por la p\u00e1gina inicial por defecto en Drupal. Nota que su ruta \/node viene configurada como la p\u00e1gina inicial en \/admin\/config\/system\/site-information en una instalaci\u00f3n est\u00e1ndar. La segunda presentaci\u00f3n de la vista es un&nbsp;<em>agregador<\/em>&nbsp;(feed) cuya configuraci\u00f3n es casi igual que la de la&nbsp;<em>p\u00e1gina<\/em>. Las diferencias relevantes son la ruta, el formato y la configuraci\u00f3n de modo de visualizaci\u00f3n: \/rss.xml, formato de canal de noticias RSS, and modo de visualizaci\u00f3n RSS, respectivamente.<\/p>\n\n\n\n<p>Algunas veces queremos crear una vista para presentar una lista de elementos, pero queremos permitir al usuario final filtrar la lista o cambiar el orden en que se ordena. Esto es posible usando&nbsp;<strong>exponiendo criterios de filtrado y ordenaci\u00f3n<\/strong>. Un buen ejemplo de esto es la interfaz de administraci\u00f3n de todos los nodos en Drupal que se encuentra en \/admin\/content. Su interfaz de configuraci\u00f3n est\u00e1 disponible en \/admin\/structure\/views\/view\/content. Esta vista muestra siete campos en formato tabla: formulario de operaciones masivas de nodo, t\u00edtulo, tipo de contenido, nombre de usuario, estado de publicaci\u00f3n, fecha de modificaci\u00f3n y enlaces de operaci\u00f3n. En la secci\u00f3n de&nbsp;<strong>criterios de filtrado<\/strong>, cuatro elementos han sido&nbsp;<strong>expuestos<\/strong>&nbsp;permitiendo que el editor de contenido filtre la lista basado en el t\u00edtulo del nodo, el tipo de contenido, el estado de publicaci\u00f3n y el idioma. Esta vista no usa criterios de ordenaci\u00f3n expuestos, pero su funcionalidad y presentaci\u00f3n es similar a la de los filtros expuestos. No obstante, porque se utiliza un formato de tabla, algunos encabezados se configuraron de forma tal que al darles clic la tabla se ordene en base a ese campo en particular. Esta es una manera diferente de permitir que el usuario final sobrescriba los resultados que se presentan por defecto.<\/p>\n\n\n\n<p>Es importante notar cuatro cosas en el ejemplo anterior. Primero, un&nbsp;<em>campo de vista<\/em>&nbsp;no siempre es un&nbsp;<em>campo adjuntado a un tipo de contenido<\/em>, como el que provee la columna \u201coperaciones\u201d en la tabla. El reutilizar la palabra \u201ccampo\u201d en este contexto es un tanto desafortunado. Segundo, la liste de campos en la secciones&nbsp;<strong>campos<\/strong>&nbsp;y&nbsp;<strong>criterios de filtrado<\/strong>&nbsp;no tiene que ser la misma. Tercero, el elemento de formulario (cuadro de texto, lista desplegable, etc.) que permitir\u00e1 al usuario filtrar la lista depende del tipo de campo que se est\u00e1 procesando. Cuarto, cuando un usuario filtra la lista, el formato de la presentaci\u00f3n original se preserva, una tabla con siete columnas en este caso.<\/p>\n\n\n\n<p><em>Consejo:<\/em>&nbsp;El nucleo de Drupal incluye al menos 14 vistas por defecto. Estudiarlas es una buena manera de aprender m\u00e1s sobre c\u00f3mo funciona el sistem de Vistas. Para el lector curioso, dar un vistazo a las vistas&nbsp;<em>\u00bfQui\u00e9n es nuevo?<\/em>&nbsp;(Who&#8217;s new) y&nbsp;<em>\u00bfQui\u00e9n est\u00e1 en l\u00ednea?<\/em>&nbsp;(Who\u2019s online block) para ejemplos de&nbsp;<strong>presentaciones de bloque<\/strong>. Ambas est\u00e1n disponibles en \/admin\/structure\/views. Si quieres jugar con ellas sin tener que configurar ambientes de desarrollo locales, sugiero usar&nbsp;<a href=\"https:\/\/simplytest.me\/\">https:\/\/simplytest.me\/<\/a>&nbsp;En este sitio puedes probar el n\u00facleo de Drupal y m\u00f3dulos, temas y distribuciones del repositorio de contribuci\u00f3n en cuesti\u00f3n de minutos.<\/p>\n\n\n\n<p><em>Nota t\u00e9cnica:<\/em>&nbsp;Al ser un fabricador de consultas SQL, algunos elementos de la interfaz de Views UI se pueden mapear a conceptos de SQL. La secci\u00f3n&nbsp;<strong>campos<\/strong>&nbsp;corresponde a columnas de tablas a incluir en una sentencia&nbsp;<em>SELECT<\/em>. Las&nbsp;<strong>relaciones<\/strong>&nbsp;agregar cl\u00e1usulas&nbsp;<em>JOIN<\/em>&nbsp;a la consulta. Los&nbsp;<strong>criterios de filtrado<\/strong>&nbsp;y&nbsp;<strong>filtros contextuales<\/strong>&nbsp;corresponde a la cl\u00e1usula&nbsp;<em>WHERE<\/em>. El&nbsp;<strong>criterio de ordenaci\u00f3n<\/strong>&nbsp;corresponde a la cl\u00e1usula&nbsp;<em>ORDER BY<\/em>. El&nbsp;<strong>paginador<\/strong>&nbsp;agrega cl\u00e1usulas&nbsp;<em>LIMIT<\/em>&nbsp;y&nbsp;<em>OFFSET<\/em>. Usar&nbsp;<strong>agregaci\u00f3n<\/strong>&nbsp;a\u00f1ade una cl\u00e1usula&nbsp;<em>GROUP BY<\/em>&nbsp;a la consulta. Y la opci\u00f3n \u201c<em>\u00danico(s)<\/em>\u201d de las&nbsp;<strong>opciones de consulta<\/strong>&nbsp;a\u00f1ade una cl\u00e1usula&nbsp;<em>DISTINCT<\/em>. Toma en cuenta que los elementos de la interfaz no se mapean uno a uno a elementos de la consulta SQL. La interfaz Views UI procura ocultar la complejidad de la estructura de base de datos a los constructores de sitios. Aunque no es requerido, entender este mapeo es \u00fatil, especialmente cuando la configuraci\u00f3n de la vista no produce los resultados esperados.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-resultados-dinamicos\">Resultados din\u00e1micos<\/h2>\n\n\n\n<p>Vistas es uno de los m\u00faltiples sistemas que permiten crear sitios din\u00e1micos con Drupal. Estos sitios, una vez configurados, actualizan su contenido autom\u00e1ticamente a medida que el tiempo pasa. Por ejemplo, si tienes un sitio que contiene informaci\u00f3n acerca de eventos, puedes querer tener una p\u00e1gina que liste \u00fanicamente los eventos futuros. Para lograr esto puedes crear un tipo de contenido \u201cEvento\u201d que tenga un campo \u201cfecha\u201d. Luego, puedes crear una vista que usa este campo de modo que s\u00f3lo eventos cuya fecha sea \u201choy\u201d o mayor aparezcan en la lista final. Nota que es posible diferenciales de fechas (en ingl\u00e9s) como valores de filtrado. Una vez la configuraci\u00f3n est\u00e1 lista, los editores de contenido s\u00f3lo deben agregar nodos y establecer el valor del campo \u201cfecha\u201d. Cuando Drupal muestra la p\u00e1gina de esta vista, va a respetar la configuraci\u00f3n y s\u00f3lo mostrar\u00e1 resultados que cumplen la condici\u00f3n&nbsp;<em>de hoy en adelante<\/em>. Esto muestra la necesidad de almacenar datos de nodos en campos separados. De esta manera puedes usarlos como campos (a mostrar), criterios de filtrado, criterio de ordenaci\u00f3n y m\u00e1s. Si hubieras almacenado esta informaci\u00f3n en el campo \u201ccuerpo\u201d ser\u00eda pr\u00e1cticamente imposible usarla para cualquiera de esos prop\u00f3sitos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-vistas-con-un-solo-resultado\">Vistas con un s\u00f3lo resultado<\/h2>\n\n\n\n<p>Al inicio dijimos que las vistas se usan para crear listados de elementos. Cuando hablamos de listas, es normal pensar en resultados con dos o m\u00e1s elementos, usualmente muchos. Pero hay algunos casos donde crear una vista que produzca un elemento hace sentido: cuando quieres mostrar \u201clo m\u00e1s de\u201d, \u201cel mejor de\u201d u otros superlativos. Por ejemplo, el art\u00edculo m\u00e1s visitado el mes pasado, el evento m\u00e1s concurrido el a\u00f1o pasado, el producto m\u00e1s reciente agregado a la tienda, etc. Otro caso de uso para una vista de un elemento es cuando quieres mostrar algo aleatorio. Para lograr esto, agrega un \u00fanico criterio de filtrado llamado apropiadamente \u201caleatorio\u201d. En todos estos casos el paginador se configurar\u00eda para mostrar un \u00fanico elemento.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-otros-casos-de-uso\">Otros casos de uso<\/h2>\n\n\n\n<p>Los casos de uso para Vistas son interminables. Algunos van a requerir el uso de&nbsp;<a href=\"https:\/\/www.drupal.org\/project\/project_module?f%5B0%5D=&amp;f%5B1%5D=&amp;f%5B2%5D=im_vid_3%3A89&amp;f%5B3%5D=&amp;f%5B4%5D=sm_field_project_type%3Afull&amp;f%5B5%5D=&amp;f%5B6%5D=&amp;text=&amp;solrsort=iss_project_release_usage+desc&amp;op=Search\">m\u00f3dulos contribuidos<\/a>, pero es posible construir muchas cosas usando funcionalidad base de Views. Ac\u00e1 se muestra una peque\u00f1a lista de cosas que puedes construir con Vistas:<\/p>\n\n\n\n<ul><li>Un mapa interactivo como el que se muestra en\u00a0<a href=\"https:\/\/www.drupical.com\/\">Drupical.com<\/a>.<\/li><li>Una representaci\u00f3n JSON o CSV de alg\u00fan contenido que quieras migrar de Drupal 8 a Drupal 8 usando el\u00a0<a href=\"https:\/\/www.drupal.org\/docs\/8\/api\/migrate-api\">API de Migraciones<\/a>\u00a0(Migrate API).<\/li><li>Una p\u00e1gina de b\u00fasqueda con filtros expuestos y facetas usando el API de B\u00fasqueda (Search API).<\/li><li>Un reproductor de audio o video con la funcionalidad de lista de reproducci\u00f3n.<\/li><li>Un carrusel de im\u00e1genes, aunque es es probablemente una\u00a0<a href=\"http:\/\/shouldiuseacarousel.com\/\">terrible idea<\/a>.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-el-poder-es-tuyo\">El poder es tuyo<\/h2>\n\n\n\n<p>Vistas es un sistema extremadamente poderoso y un diferenciador clave entre Drupal y otros sistemas gestores de contenidos (CMS) y frameworks. En este art\u00edculo apenas hemos tocado la superficie de lo que es posible. Vistas incluye otros conceptos c\u00f3mo filtros contextuales y relaciones que no se explicaron. Usando m\u00f3dulos contribuidos o c\u00f3digo personalizado puedes ajustar el sistema de Vistas a tus necesidades particulares. Por ejemplo, puedes extender Vistas usando plugins para crear tus propios campos, criterios de filtrado, criterios de ordenamiento, etc. Tambi\u00e9n puedes usar hooks para alterar la consulta SQL. Adicionalmente, puedes reescribir los resultados y personalizar el HTML que se produce. Con tantas partes, puede ser intimidante aprender Vistas. Mi recomendaci\u00f3n es aprender un concepto a la vez y jugar con las vistas existentes, como las que vienen en el n\u00facleo de Drupal, para aprender c\u00f3mo funcionan.<\/p>\n\n\n\n<p>Hace aproximadamente 8 a\u00f1os,&nbsp;<a href=\"https:\/\/www.drupal.org\/u\/itangalo\">Johan Falk<\/a>&nbsp;cre\u00ed&nbsp;<a href=\"http:\/\/nodeone.se\/blogg\/taming-the-beast-learn-views-with-nodeone\">uno de los mejores recursos de aprendizaje sobre Vistas<\/a>&nbsp;que he conocido hasta ahora. Como los conceptos de Drupal que hemos aprendido hasta ahora, los conceptos de Vistas no han cambiado significativamente desde que se public\u00f3 esa serie de videos. Muchas gracias a Johan por crear tantos valiosos tutoriales de Drupal en aquellos tiempos. Tal vez en el futuro yo pueda producir un tutorial sobre vistas similar\/actualizado aqu\u00ed en UnderstandDrupal.com Ponte en contacto conmigo si te estar\u00edas interesado en patrocinar dicho proyecto.<\/p>\n\n\n\n<p>\u00bfQu\u00e9 tan familiarizado estabas con las Vistas en Drupal? \u00bfSab\u00edas c\u00f3mo diferentes elementos de la interfaz de Views UI corresponden a cl\u00e1usulas de consultas SQL? \u00bfCu\u00e1les son algunos conceptos que encuentras dif\u00edcil de comprender? \u00bfQu\u00e9 m\u00f3dulos contribuidos conoces que extienden la funcionalidad de Vistas?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En Drupal, una vista es un listado de informaci\u00f3n. Esta puede ser una lista de nodos, usuarios, comentarios, t\u00e9rminos de taxonom\u00eda, etc. Una vista escan\u00e9a tu sitio web usando cualquier criterio que especifiques y presenta los resultados en el formato de tu preferencia. Ejemplos de formato incluyen una table HTML, un feed RSS, un documento PDF, un documento CSV, un mapa interactivo, un carrusel de im\u00e1genes, o una representaci\u00f3n JSON a ser usada mediante un API REST. El mismo contenido se puede presentar en m\u00faltiples formatos al mismo tiempo. Por ejemplo, puedes presentar una table de informaci\u00f3n de usuarios y en la misma p\u00e1gina un enlace de descarga de los datos en formato CSV.<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[22],"tags":[34,35,36],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u00bfQu\u00e9 es una vista en Drupal? \u00bfC\u00f3mo funcionan? - Understand Drupal<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00bfQu\u00e9 es una vista en Drupal? \u00bfC\u00f3mo funcionan? - Understand Drupal\" \/>\n<meta property=\"og:description\" content=\"En Drupal, una vista es un listado de informaci\u00f3n. Esta puede ser una lista de nodos, usuarios, comentarios, t\u00e9rminos de taxonom\u00eda, etc. Una vista escan\u00e9a tu sitio web usando cualquier criterio que especifiques y presenta los resultados en el formato de tu preferencia. Ejemplos de formato incluyen una table HTML, un feed RSS, un documento PDF, un documento CSV, un mapa interactivo, un carrusel de im\u00e1genes, o una representaci\u00f3n JSON a ser usada mediante un API REST. El mismo contenido se puede presentar en m\u00faltiples formatos al mismo tiempo. Por ejemplo, puedes presentar una table de informaci\u00f3n de usuarios y en la misma p\u00e1gina un enlace de descarga de los datos en formato CSV.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/\" \/>\n<meta property=\"og:site_name\" content=\"Understand Drupal\" \/>\n<meta property=\"article:published_time\" content=\"2019-07-29T07:00:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-24T03:41:12+00:00\" \/>\n<meta name=\"author\" content=\"Mauricio Dinarte\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mauricio Dinarte\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/\"},\"author\":{\"name\":\"Mauricio Dinarte\",\"@id\":\"https:\/\/understanddrupal.com\/#\/schema\/person\/73fa828d2b498d144def1204a114b7d3\"},\"headline\":\"\u00bfQu\u00e9 es una vista en Drupal? \u00bfC\u00f3mo funcionan?\",\"datePublished\":\"2019-07-29T07:00:40+00:00\",\"dateModified\":\"2022-04-24T03:41:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/\"},\"wordCount\":3061,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/understanddrupal.com\/#organization\"},\"keywords\":[\"basic concepts\",\"drupal planet\",\"views\"],\"articleSection\":[\"Sin categorizar\"],\"inLanguage\":\"es-ES\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/\",\"url\":\"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/\",\"name\":\"\u00bfQu\u00e9 es una vista en Drupal? \u00bfC\u00f3mo funcionan? - Understand Drupal\",\"isPartOf\":{\"@id\":\"https:\/\/understanddrupal.com\/#website\"},\"datePublished\":\"2019-07-29T07:00:40+00:00\",\"dateModified\":\"2022-04-24T03:41:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/#breadcrumb\"},\"inLanguage\":\"es-ES\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/understanddrupal.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00bfQu\u00e9 es una vista en Drupal? \u00bfC\u00f3mo funcionan?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/understanddrupal.com\/#website\",\"url\":\"https:\/\/understanddrupal.com\/\",\"name\":\"Understand Drupal\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/understanddrupal.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/understanddrupal.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es-ES\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/understanddrupal.com\/#organization\",\"name\":\"Understand Drupal\",\"url\":\"https:\/\/understanddrupal.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-ES\",\"@id\":\"https:\/\/understanddrupal.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/understanddrupal.com\/wp-content\/uploads\/2021\/12\/understanddrupal_logo_white.png\",\"contentUrl\":\"https:\/\/understanddrupal.com\/wp-content\/uploads\/2021\/12\/understanddrupal_logo_white.png\",\"width\":100,\"height\":73,\"caption\":\"Understand Drupal\"},\"image\":{\"@id\":\"https:\/\/understanddrupal.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/understanddrupal.com\/#\/schema\/person\/73fa828d2b498d144def1204a114b7d3\",\"name\":\"Mauricio Dinarte\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-ES\",\"@id\":\"https:\/\/understanddrupal.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/20c842c5c006728abe93e6122524f5b7?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/20c842c5c006728abe93e6122524f5b7?s=96&d=blank&r=g\",\"caption\":\"Mauricio Dinarte\"},\"url\":\"https:\/\/understanddrupal.com\/es\/blog\/author\/dinarcon\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u00bfQu\u00e9 es una vista en Drupal? \u00bfC\u00f3mo funcionan? - Understand Drupal","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/","og_locale":"es_ES","og_type":"article","og_title":"\u00bfQu\u00e9 es una vista en Drupal? \u00bfC\u00f3mo funcionan? - Understand Drupal","og_description":"En Drupal, una vista es un listado de informaci\u00f3n. Esta puede ser una lista de nodos, usuarios, comentarios, t\u00e9rminos de taxonom\u00eda, etc. Una vista escan\u00e9a tu sitio web usando cualquier criterio que especifiques y presenta los resultados en el formato de tu preferencia. Ejemplos de formato incluyen una table HTML, un feed RSS, un documento PDF, un documento CSV, un mapa interactivo, un carrusel de im\u00e1genes, o una representaci\u00f3n JSON a ser usada mediante un API REST. El mismo contenido se puede presentar en m\u00faltiples formatos al mismo tiempo. Por ejemplo, puedes presentar una table de informaci\u00f3n de usuarios y en la misma p\u00e1gina un enlace de descarga de los datos en formato CSV.","og_url":"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/","og_site_name":"Understand Drupal","article_published_time":"2019-07-29T07:00:40+00:00","article_modified_time":"2022-04-24T03:41:12+00:00","author":"Mauricio Dinarte","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Mauricio Dinarte","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/#article","isPartOf":{"@id":"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/"},"author":{"name":"Mauricio Dinarte","@id":"https:\/\/understanddrupal.com\/#\/schema\/person\/73fa828d2b498d144def1204a114b7d3"},"headline":"\u00bfQu\u00e9 es una vista en Drupal? \u00bfC\u00f3mo funcionan?","datePublished":"2019-07-29T07:00:40+00:00","dateModified":"2022-04-24T03:41:12+00:00","mainEntityOfPage":{"@id":"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/"},"wordCount":3061,"commentCount":0,"publisher":{"@id":"https:\/\/understanddrupal.com\/#organization"},"keywords":["basic concepts","drupal planet","views"],"articleSection":["Sin categorizar"],"inLanguage":"es-ES","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/","url":"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/","name":"\u00bfQu\u00e9 es una vista en Drupal? \u00bfC\u00f3mo funcionan? - Understand Drupal","isPartOf":{"@id":"https:\/\/understanddrupal.com\/#website"},"datePublished":"2019-07-29T07:00:40+00:00","dateModified":"2022-04-24T03:41:12+00:00","breadcrumb":{"@id":"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/#breadcrumb"},"inLanguage":"es-ES","potentialAction":[{"@type":"ReadAction","target":["https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/understanddrupal.com\/es\/blog\/que-es-una-vista-en-drupal-como-funcionan\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/understanddrupal.com\/es\/"},{"@type":"ListItem","position":2,"name":"\u00bfQu\u00e9 es una vista en Drupal? \u00bfC\u00f3mo funcionan?"}]},{"@type":"WebSite","@id":"https:\/\/understanddrupal.com\/#website","url":"https:\/\/understanddrupal.com\/","name":"Understand Drupal","description":"","publisher":{"@id":"https:\/\/understanddrupal.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/understanddrupal.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es-ES"},{"@type":"Organization","@id":"https:\/\/understanddrupal.com\/#organization","name":"Understand Drupal","url":"https:\/\/understanddrupal.com\/","logo":{"@type":"ImageObject","inLanguage":"es-ES","@id":"https:\/\/understanddrupal.com\/#\/schema\/logo\/image\/","url":"https:\/\/understanddrupal.com\/wp-content\/uploads\/2021\/12\/understanddrupal_logo_white.png","contentUrl":"https:\/\/understanddrupal.com\/wp-content\/uploads\/2021\/12\/understanddrupal_logo_white.png","width":100,"height":73,"caption":"Understand Drupal"},"image":{"@id":"https:\/\/understanddrupal.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/understanddrupal.com\/#\/schema\/person\/73fa828d2b498d144def1204a114b7d3","name":"Mauricio Dinarte","image":{"@type":"ImageObject","inLanguage":"es-ES","@id":"https:\/\/understanddrupal.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/20c842c5c006728abe93e6122524f5b7?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/20c842c5c006728abe93e6122524f5b7?s=96&d=blank&r=g","caption":"Mauricio Dinarte"},"url":"https:\/\/understanddrupal.com\/es\/blog\/author\/dinarcon\/"}]}},"_links":{"self":[{"href":"https:\/\/understanddrupal.com\/es\/wp-json\/wp\/v2\/posts\/1998"}],"collection":[{"href":"https:\/\/understanddrupal.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/understanddrupal.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/understanddrupal.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/understanddrupal.com\/es\/wp-json\/wp\/v2\/comments?post=1998"}],"version-history":[{"count":5,"href":"https:\/\/understanddrupal.com\/es\/wp-json\/wp\/v2\/posts\/1998\/revisions"}],"predecessor-version":[{"id":5325,"href":"https:\/\/understanddrupal.com\/es\/wp-json\/wp\/v2\/posts\/1998\/revisions\/5325"}],"wp:attachment":[{"href":"https:\/\/understanddrupal.com\/es\/wp-json\/wp\/v2\/media?parent=1998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/understanddrupal.com\/es\/wp-json\/wp\/v2\/categories?post=1998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/understanddrupal.com\/es\/wp-json\/wp\/v2\/tags?post=1998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}