Creación de una vista que muestra todos los eventos y los usuarios que se han suscrito para cada evento

drupal.stackexchange https://drupal.stackexchange.com/questions/1749

  •  16-10-2019
  •  | 
  •  

Pregunta

Estoy utilizando el Inscripción módulo, y estoy buscando para crear una vista que muestra todos los eventos y los avatares (por defecto de campo imagen del usuario Drupal) de los usuarios que se han suscrito para cada evento.

Esta es una maqueta de lo que estoy tratando de lograr. Tengo todo excepto el avatares hasta ahora.

Ver Maqueta

Ver exportación de la vista que tengo hasta ahora

¿Fue útil?

Solución

Hacer algo como esto está empujando vistas a sus límites. ¿Quieres tirar en una gran cantidad de datos y de grupo por el ID de nodo. No estoy seguro de si todo esto es posible a través de la interfaz de puntos de vista, aunque creo que será posible con el motor que está funcionando vistas.

En lugar de tratar de lograr este punto de vista más bien complejo, que puede llegar a ser algo, eso es difícil de modificar, usted podría hacer esto con bastante facilidad utilizando más y más simples consultas. una solución tan simple podría tener este aspecto:

  1. Usted puede crear una vista simple, que muestra toda la información, excepto las inscripciones. (Título Nodo etc)
  2. inscribirse ya tiene un punto de vista, que mostrará a las personas que se inscribieron para un evento. Con un poco de modificación, que podría hacer que se muestre la imagen de usuario de los usuarios que ha firmado para un evento. Posteriormente, se podría incrustar esta vista, ya sea en función de preproceso y / o una plantilla para la vista que creó en el paso 1.
  3. ya está.

La ideales cosa sería la creación de todo esto en una sola vista, pero a veces hay que pensar en lo que el costo se compara con las ganancias. Dudo que usted será capaz de medir las diferencias de rendimiento, a menos que dispone de cientos si los nodos con inscripciones. Sin embargo, el tiempo que se ahorra hacerlo de esta manera es mucho.

Esto es lo mismo con vistas en sí, es ineficiente, pero nada importante (para la mayoría de los sitios) y nos permite ahorrar mucho tiempo, no tener que consultas de código, funciones de temas, etc.

Actualización:

Incrustación de una vista con argumentos (como ID de nodo) es bastante simple:

$html = views_embed_view($name, $display_id, $arguments)

O, en su caso

$html = views_embed_view('signup_user_list', 'default', array('nid' => $nid));

Otros consejos

Crear un "Grupo" llamado "Evento". No es necesario instalar todos los módulos OG, sólo unos pocos. Usted no necesidad de crear un tipo de contenido grupo: sólo hay un "evento"
. La gente crea eventos y participar en eventos. Entra en permisos predeterminados de grupo y hacer que el público grupo al permitir que la gente a unirse al evento sin suscribirse.

Es posible que desee utilizar la "cadena de reemplazo" módulo para personalizar fácilmente algo de la lengua a su gusto, o pasar por encima de las funciones de temas del grupo. "Cadena de reemplazo" es sencillo y rápido, pero puede ser un poco demasiado universales (que depende de usted). O bien puede ayudar a que el lenguaje de unirse a ser sólo como desee. La plantilla de anulación le permitirá realizar cambios adicionales en la interfaz de usuario.

Utilizar una vista, y una template.tpl.php personalizados! ¡Hecho! Su rápido, ligero y fácil. Los usuarios nunca sabrán que se están uniendo a un "grupo" y los resultados que obtiene coincidirá exactamente lo que quiere. Tan fácil como pastel!

Agregue una referencia de usuario a su tipo de contenido si no incluye ya una e incluirla en su vista con una relación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a drupal.stackexchange
scroll top