In meiner Community werden in einer bestimmten Kategorie sehr viele Themen gepostet.
Manchmal empfinden die Leute das als störend und möchten es von der Startseite entfernen.
Diese Benutzer sind jedoch weder völlig uninteressiert an diesen Kategorien, noch möchten sie sie stumm schalten, um sie vollständig zu blockieren.
Daher habe ich zwei Ansätze entwickelt.
1: Platzieren Sie auf der Startseite eine Checkbox, um auszuwählen, ob eine bestimmte Kategorie angezeigt werden soll oder nicht.
2: Anstatt diese Kategorie stumm zu schalten, wird die Anzahl der neuen Themen in der stumm geschalteten Kategorie auf der Startseite angezeigt. Benutzer können die Kategorie sofort sehen, indem sie auf den Tab dieser Kategorie in der Navigationsleiste klicken.
Tatsächlich konnte ich die Anzahl der neuen Themen in 2 anzeigen, aber ich stellte fest, dass ich direkt nach Fertigstellung der Komponente die Anzahl der neuen Themen in der stumm geschalteten Kategorie nicht abrufen konnte… Ich habe vergessen, die stumm geschaltete Kategorie zu überprüfen…
Daher erwäge ich als Nächstes Ansatz 1, aber ich weiß nicht, wie die Abfrage der Startseite funktioniert oder wie bestimmte Kategorien ausgeblendet werden können…
Oder auch eine Lösung für Ansatz 2 (wie man die Anzahl der neuen Themen in der stumm geschalteten Kategorie erhält) wäre in Ordnung.
Vielen Dank.\n\nCSS war eine blinde Stelle, aber ich habe ein paar Dinge ausprobiert und es scheint nicht sehr gut zu funktionieren.\nIch bin kein Muttersprachler, daher habe ich es wohl nicht gut genug erklärt.\nIm 1 muss die Benachrichtigung unter Normal gesetzt und bestimmte Kategorien müssen ausgeblendet werden.\nIn CSS kann ich die Kategorieklasse abrufen und sie ausblenden, aber es scheint auch Watching und Tracking zu löschen… Ich werde versuchen, einen Weg zu finden, eine Klasse basierend auf den Benachrichtigungseinstellungen jedes Themas zu geben.\n\nAußerdem habe ich ein wenig recherchiert und es scheint, dass die Möglichkeit, Kategorien von oben zu entfernen, vor etwa 2 Jahren stark diskutiert wurde und entfernt und durch Stummschalten ersetzt wurde.\n\nIch denke, diejenigen, die dagegen waren, es vollständig durch Stummschalten zu ersetzen, hatten Recht. Stummschalten ist eine nette Funktion. Aber die Lücke zwischen Normal und Stummschalten ist zu groß und Stummschalten lässt die Kategorie weit zurück.\nEtwas dazwischen wäre schön gewesen, um eine weitere Benachrichtigungseinstellung zu haben.\n\nIch werde noch einmal darüber nachdenken…
Vielen Dank.\nIch habe gerade eine alte Diskussion durchgesehen, in der über die Erstellung eines solchen Plugins gesprochen wurde, und ich habe versucht, es zu finden.\n\nIch werde es ausprobieren, sobald ich kann.
Wie auch immer, es scheint, dass standardmäßig die Anzeige aller Benachrichtigungseinstellungen unterdrückt wird.
Dies ist immer noch funktionsfähig (obwohl im Nachhinein CSS auch nicht schlecht ist), aber ich werde versuchen, es zu perfektionieren und zu sehen, ob es möglich ist, nur normale und stummgeschaltete Benachrichtigungseinstellungen auszublenden.
Da es sich um ein Plugin handelt, scheint es Raum für Verbesserungen zu geben, daher habe ich wieder etwas Motivation geschöpft. Vielen Dank.
Eine weitere Idee: Beschränken Sie diese Kategorie nur für eine bestimmte Gruppe und geben Sie Benutzern die Möglichkeit, ihr beizutreten, wenn sie sie benötigen.
Oder standardmäßig beitreten und die Gruppenteilnahme beenden, wenn sie sie nicht mehr sehen möchten.
Ich habe mir das Plugin etwas angesehen und es sieht nicht einfach aus… Ich habe in result = Topic::ActiveRecord nachgesehen und es scheint keine Daten zu enthalten, die sich auf Benachrichtigungen beziehen.
Außerdem frage ich mich, ob es möglich ist, die Informationen für einzelne Themen von hier zu erhalten und die notification_level abzurufen.
Ich habe Plugins erstellt, die auch etwas Ruby beinhalten, aber ich habe mich hauptsächlich auf Javascript verlassen, daher weiß ich nicht viel über Ruby.
Vielleicht… Ich würde gerne die Inhalte von “result” durchlaufen, um detaillierte Informationen zu jedem Thema zu erhalten, und die Themen-IDs von nur den Themen aufzeichnen, deren notification_level “Tracking” oder “Watching” ist, und sie in der Liste speichern, und zur where-Klausel hinzufügen "ODER ich stelle mir vor, dass es gut funktionieren würde, wenn Sie topics.topic_id IN (#{topic_ids.join(‘,’)" verwenden. Ich weiß, dass es kein sehr schöner Code ist, und ich bin nicht mit Ruby vertraut, daher bin ich mir nicht sicher, ob es funktionieren würde…
Ich werde einen Weg finden, Topic nach ID von Ruby aus aufzurufen.
Vielen Dank.
Ich hatte nicht daran gedacht, Gruppen zu verwenden … aber wenn die aktuelle Plugin-Änderung nicht funktioniert, werde ich darüber nachdenken.
Ich verstehe zwar nicht alles richtig, aber irgendwie hat es funktioniert.
Falls jemand anderes dasselbe tun möchte, hinterlasse ich es hier.
Zeile 17 von plugin.rb des Plugins, das mir JammyDodger gezeigt hat.
result.where("topics.category_id NOT IN (#{category_ids.join(",")})")
zu
result.where("topics.category_id NOT IN (#{category_ids.join(",")}) OR tu.notification_level IN (2,3)")
Die Themen “Tracking” und “Watching” bleiben auf der obersten Seite, aber das Thema “Normal” wird von der obersten Seite ausgeblendet.
Es hat eine Weile gedauert, weil ich ActiveRecord nicht richtig verstanden habe, aber wenn ich das Problem richtig kommuniziert hätte, wäre es vielleicht ein einfaches Problem für Sie gewesen.
Ich bin mir nicht ganz sicher, ob ich das richtig verstehe, aber wenn Sie eine Kategorie in den Admin-Einstellungen unter „Standardmäßig stummgeschaltete Kategorien“ auf „Standardmäßig stummgeschaltet“ setzen, klingt das dann nicht schon ähnlich? Die Themen erscheinen nicht in der Liste „Neueste“, sind aber alle sichtbar, wenn Sie zur Kategorie-Seite gehen. Und wenn ein Benutzer mit einem Thema interagiert, sodass es als „Verfolgt“ oder „Beobachtet“ eingestuft wird, dann erscheinen diese in seinen Themenlisten.
Ich habe eine Komponente erstellt, um diese Themenanzahl zu ermitteln, aber festgestellt, dass die Stummschaltung keine neuen Themen zählt, da stummgeschaltete Themen nicht in den neuen Themen enthalten sind.
Ich habe eine Komponente erstellt, um diese Themenanzahl zu ermitteln, aber ich habe festgestellt, dass die Stummschaltung keine neuen Themen erhält, sodass ich die Anzahl der neuen Themen nicht ermitteln konnte.
Deshalb habe ich nach einer Möglichkeit gesucht, die Anzeige auf der Startseite mit der Benachrichtigungseinstellung „Normal“ zu verhindern.
Dies mag eine Sondersituation sein. Für eine bestimmte Kategorie gibt es eine unerwünschte Anzahl ungelesener Themen auf der Startseite, während die Standardeinstellung „Stumm“ das Erkennen neuer Themen erschwert und Benutzer übermäßig von der Kategorie wegführt. Wir wollten das nicht tun, da eine große Anzahl von Themen auf der Startseite eine sehr florierende Kategorie bedeutet.
Vielleicht hätte dieses Problem durch die Schulung der Benutzer gelöst werden müssen, aber wir wollten trotzdem tun, was wir konnten, und wir sind froh, dass wir die Anforderungen erfüllen konnten.