Cómo crear lista de usuarios con cantidad de publicaciones

La idea es crear una lista de usuarios y mostrar junto a cada uno la cantidad de publicaciones que hizo. He buscado en drupal.org y solo he encontrado soluciones parciales con código php puro.

El objetivo

Crear una vista que muestre los usuarios que más publicaciones hicieron del tipo "artículo" (publicadas) con link a sus perfiles y mostrando entre parentesis el total. Variantes pueden ser, mostrar imagen del perfil del usuario, filtrar por posts creados desde x fecha o entre x e y, etc.

Se necesita

¿Cómo?

Ver Figura 1.

Como primer paso, a diferencia de lo que parecería razonable, no hay que crear una vista del tipo "users", sino que hay que crear una del tipo "node".

  • Definimos en Style que sea del tipo "HTML List"
  • Definimos en Row style que se "Fields"
  • En Fields
    • (Ver Figura 2) Agregamos el campo "Usuario: Nombre", y en la configuración borramos la etiqueta y tildamos "Link this field to its user"
    • (Ver Figura 3) Agregamos el campo "Node: Nid". ¡Y acá está lo interesante!, este campo será el usado para hacerl el COUNT dentro de la consulta, por lo que desde ahora lo tomaremos como el campo que mostrará el total de posts del usuario. En la configuración tildaremos "Rewrite the output of this field" y pondremos en la caja de texto "([nid])".
    • (Ver Figura 4) Atencion: Agregamos un nuevo campo SQL Aggregation: Group By Fields, que hará la agrupación por nombre de usuario. Debemos asegurarnos siempre de que este campo sea el último en ser agregado, de lo contrario dará error. En la configuración definimos:
      • Fields to Group On: Usuario: Nombre
      • SQL Aggregation Function: Numérico
      • Fields to Aggregate with the SQL function: Nodo: Nid
      • Field to Sort Resultset On (after SQL Function is applied): Nodo: Nid
      • Sorting Direction: Descending
  • (Ver Figura 1) En Filtros definimos
    • Usuario Activo: si
    • Nodo: Tipo = Articulo (o lo que sea)
  • (Ver Figura 1) Añadimos un display bloque a nuestra vista y lo guardamos, luego desde admin/build/block lo ubicamos y listo!

Figura 1.

 

Figura 2

 

Figura 3.

 

Figura 4.

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.
  • Image links with 'rel="lightbox"' in the <a> tag will appear in a Lightbox when clicked on.

Más información sobre opciones de formato

  • English
  • Español

¿Por qué Drupal Argentina?

"Necesitábamos darle un cambio a TeknoConsolas debido al crecimiento de nuestra comunidad de usuarios. Tras evaluar distintos proveedores, seleccionamos a Drupal Argentina para desarrollar nuestro proyecto... Drupal Argentina ha sabido convertirse en nuestro aliado tecnológico, aportando incluso soluciones que no teníamos previstas en un principio. "

Juan M. Cuenca Mora
Director de TeknoConsolas.es

Trabajos recientes

Solicite un detalle de los trabajos que hemos desarrollado a través de nuestro formulario de contacto. Contactar