drupal views – ¿Cómo puedo crear una vista que muestre a los usuarios todos los que han marcado a un solo usuario?

Pregunta:

Fondo

Quiero agregar una pestaña al perfil de usuario que muestre al usuario que ha iniciado sesión qué otros usuarios han visto su perfil. Quiero controlar esta lista en Vistas.

Hasta hace poco, he estado usando el módulo Visitas de usuarios . Sin embargo, este módulo no se integra con Views y ya no se mantiene de forma activa.

Comencé a construir esto usando Vistas, Reglas y Bandera. Específicamente, creé un perfil de marcado visto y luego hice una regla para marcar automáticamente un perfil cuando un usuario visita el perfil de otro usuario.

Luego creé una vista de usuarios con dos pantallas.

Mi vista

La primera pantalla, Perfiles que visité , tiene una relación con la marca de perfil Visto y simplemente enumera todos los perfiles marcados (visitados) por el usuario actual. Fácil.

Ahora quiero crear una segunda pantalla, Usuarios que me han visitado . En este caso, quiero mostrar todos los usuarios que han marcado al usuario actual. Sin embargo, no puedo averiguar cómo hacer esto.

Puedo agregar una relación, Banderas (por cualquier usuario) , pero rápidamente podría haber más de 10,000 banderas de este tipo en mi sitio, así que me preocupan las implicaciones de rendimiento de cargar todas las banderas de esa manera. Además, incluso si cargo todas las banderas, no veo cómo filtrarlas fácilmente para los usuarios que han marcado al usuario actual.

En cambio, parece que sería más fácil crear una segunda bandera, Usuario que me vio , y adjuntar ambas banderas ( Perfil visto y Usuario que me vio ) con una regla al mismo tiempo cuando un usuario visita un perfil. Sin embargo, esto me parece una duplicación innecesaria de información, ya que ambas banderas vinculan a los mismos dos usuarios al mismo tiempo. ¿Existe una forma más elegante de mostrar estos datos en Vistas que no genere problemas de rendimiento en el futuro?

Respuesta:

  1. Agregue una relación, Banderas: banderas del usuario para su bandera. Desmarque Incluir solo a los usuarios que han marcado contenido.
  2. Agregue un filtro contextual, Banderas: ID de contenido y establezca Proporcionar valor predeterminado en la ID de usuario del usuario que inició sesión .

Esto no fue intuitivo, pero parece funcionar.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım