Erstellen einer Ansicht, die alle Ereignisse und die Benutzer anzeigt, die sich für jedes Ereignis angemeldet haben

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

  •  16-10-2019
  •  | 
  •  

Frage

Ich benutze das Anmelden Modul, und ich möchte eine Ansicht erstellen, die alle Ereignisse und die Avatare (Standard -Drupal -Benutzerbildfeld) der Benutzer zeigt, die sich für jedes Ereignis angemeldet haben.

Hier ist ein Modell von dem, was ich erreichen möchte. Ich habe bisher alles außer den Avataren.

Modelle anzeigen

Siehe Export der Ansicht, die ich bisher habe

War es hilfreich?

Lösung

So etwas wie dieses zu tun, ist die Aussicht auf seine Grenzen. Sie möchten viele Daten anziehen und sie nach der Knoten -ID gruppieren. Ich bin mir nicht sicher, ob all dies durch die Ansichtenschnittstelle möglich ist, obwohl ich glaube, dass dies mit dem Motor möglich ist, der die Ansichten ausführt.

Anstatt zu versuchen, diese ziemlich komplexe Ansicht zu erreichen, die zu etwas werden kann, das schwer zu ändern ist, können Sie dies ganz einfach mehr und einfachere Fragen tun. Eine so einfache Lösung könnte so aussehen:

  1. Sie können eine einfache Ansicht erstellen, in der alle Informationen mit Ausnahme der Anmeldungen angezeigt werden. (Knotentitel usw.)
  2. Anmeldung hat bereits eine Ansicht, in der die Personen, die sich für ein Ereignis angemeldet haben, anzeigen. Mit ein wenig Änderung können Sie den Avatar der Benutzer zeigen, der sich für ein Ereignis angemeldet hat. Anschließend können Sie diese Ansicht entweder in eine Vorverarbeitungsfunktion und/oder eine Vorlage für die in Schritt 1 erstellte Ansicht einbetten.
  3. Sie sind fertig.

Das Ideal Die Sache wäre, all dies in einer einzigen Ansicht zu erstellen, aber manchmal muss man darüber nachdenken, was die Kosten mit den Gewinnen vergleichen. Ich bezweifle, dass Sie in der Lage sind, Leistungsunterschiede zu messen, es sei denn, Sie listen Hunderte, wenn Knoten mit Anmeldungen auflisten. Aber die Zeit, die Sie so sparen, ist ziemlich viel.

Dies gilt für Ansichten selbst, es ist ineffizient, aber nichts Wichtiges (für die meisten Websites) und es ermöglicht es uns, viel Zeit zu sparen, ohne Abfragen, Themenfunktionen usw. zu codieren.

Aktualisieren:

Das Einbetten einer Ansicht mit Argumenten (wie Knoten -ID) ist ziemlich einfach:

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

Oder in Ihrem Fall

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

Andere Tipps

Erstellen Sie eine "Gruppe" namens "Event". Sie müssen nicht alle OG -Module installieren, nur ein paar. Sie müssen keinen Gruppeninhaltstyp erstellen: Sie benötigen lediglich ein "Ereignis".
Menschen erstellen Ereignisse und beitreten Veranstaltungen. Gehen Sie in Gruppenausfallberechtigungen und machen Sie die Gruppe öffentlich, indem Sie den Personen ermöglichen, sich der Veranstaltung anzuschließen, ohne sich abzuonnieren.

Möglicherweise möchten Sie das Modul "String ersetzen" verwenden, um einen Teil der Sprache einfach nach Ihren Wünschen anzupassen oder die Gruppenthema-Funktionen zu übertreffen. "String ersetzen" ist einfach und schnell, kann aber etwas zu universell sein (es liegt an Ihnen). Beide können dazu beitragen, dass die Sprache des Beitritts genauso wie Sie möchten. Mit der Vorlage übertrieben können Sie zusätzliche Änderungen an der Benutzeroberfläche vornehmen.

Verwenden Sie eine Ansicht und eine benutzerdefinierte Vorlage.tpl.php! Fertig! Es ist schnell, leicht und einfach. Benutzer werden nie wissen, dass sie einer "Gruppe" beitreten, und die Ergebnisse, die Sie erzielen, stimmen genau mit dem überein, was Sie wollen. Einfach wie Kuchen!

Fügen Sie eine Benutzerreferenz auf Ihren Inhaltstyp hinzu, wenn er noch nicht einbezieht, und fügen Sie sie in Ihre Ansicht in eine Beziehung ein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit drupal.stackexchange
scroll top