Vor dem Posten gesucht:
Ich mag „Automatisch Themen hochschieben“, um Themen erneuern zu lassen. Aber ich wünschte, wenn Besucher Themen besuchen, ihnen nicht Dutzende von „Automatisch hochgeschobenen“ Nachrichten angezeigt würden.
Gibt es eine Möglichkeit, diese gelegentlich, manuell oder automatisch (oder beides) zu löschen?
Ich frage das, weil ich festgestellt habe, dass auf meiner Ebene, was auch immer mein Wunsch ist, dieser meist schon berücksichtigt wurde.
Sie gibt nur Hunderte von Themen zurück, die Tausende von ‘Auto-Bumped’-Nachrichten enthalten, sagt aber nicht, wie viele solcher Nachrichten in wie vielen Themen existieren.
Daher denke ich, dass ich letztendlich die Axt in den ‘dunklen Räumen’ der Rails-Konsole schwingen muss (was ein wenig einschüchternd ist).
Ich bin etwas besorgt, da dies Tausende von Themen/Beiträgen auf einmal betreffen wird. Wenn es doch nur eine Schaltfläche ‘Alle auswählen’ innerhalb der Themen gäbe, die alle Bumping-Nachrichten zusammen auswählt und wir diese Nachrichten mit einem Klick innerhalb eines beliebigen Themas löschen könnten. Und wenn jemand alle solchen Nachrichten in allen Themen mit nur einem Befehl löschen wollte, müsste er ‘rails’ eingeben.
Ich beschwere mich nicht. Ich drücke nur meine Gefühle aus.
Würde die 5. Zeile des von Ihnen genannten Rails-Befehls etwas abfragen oder zur Bestätigung auffordern, bevor alle diese Beiträge gelöscht werden? Oder würde er einfach tun, was ihm gesagt wurde, ohne Warnung usw. oder eine Möglichkeit zur Wiederherstellung?
Wenn möglich, können wir zuerst ‘Bumping msgs’ aus einem beliebigen Thema löschen, anstatt von der gesamten Website zu löschen?
Können Sie mir auch einen Rails-Befehl vorschlagen/nennen, um einige Beispiele der Beiträge anzuzeigen, die wir löschen werden?
Etwas Ähnliches im Data Explorer könnte helfen, einen Überblick zu geben:
SELECT p.topic_id,
COUNT(p.id) AS count
FROM posts p
WHERE action_code = 'autobumped'
GROUP BY p.topic_id
ORDER BY count DESC
Ich möchte jedoch davor warnen, die Rails-Konsole für solche Änderungen an einer Live-Seite zu verwenden, wenn Sie damit unerfahren sind. Möglicherweise möchten Sie eine Testseite aufsetzen und üben, bevor Sie loslegen.
Ja, es hat das Problem gelöst, soweit es von den Designern/Entwicklern angeboten wurde.
Ich möchte jedoch immer noch sagen, dass es einen ‘Admin’-Befehl geben sollte, entweder in den Admin-Einstellungen oder im gerade angezeigten Thema, um alle ‘duplizierten (automatisch hochgeschobenen) Nachrichten’ in einem beliebigen Thema oder allen Themen auszuwählen und sie dann zu entfernen, wann immer der Administrator es wünscht.
Vielleicht könnten Sie diese Nachrichten stattdessen mit CSS ausblenden? Leider glaube ich nicht, dass das post-small-action-Widget derzeit den Aktionstyp als CSS-Klasse enthält, sodass Sie Bump-Nachrichten nicht gezielt ansprechen können. Vielleicht könnte eine Themenkomponente helfen?
Ja, das habe ich überprüft, bevor ich die Data-Explorer-Lösung vorgeschlagen habe.
Das Hinzufügen spezifischer Klassen zu kleinen Aktionen könnte ein guter #feature-Vorschlag sein.
Können Sie mir bitte etwas vorschlagen?
Ich kann dasselbe einfach in eine Komponente kopieren und einfügen. Ich kenne mich mit dem Programmieren nicht aus.
Ich habe nicht viel mit der Plugin-API gemacht, aber ich habe gesehen, dass es eine Methode gibt, die Klassen zu kleinen Aktionsbeiträgen hinzufügen kann:
Also habe ich eine Themenkomponente erstellt, die dies im Head-Bereich enthielt:
Ich habe keine weiteren Tests durchgeführt, daher weiß ich nicht, ob es andere Nebenwirkungen geben könnte. Es ist möglich, dass small-action-[...]-Klassen irgendwo anders in der Anwendung kollidieren. In diesem Fall sollten Sie ein Präfix wählen, das garantiert eindeutig ist.
Beachten Sie, dass die Methode addPostSmallActionClassesCallback erst letzten Monat hinzugefügt wurde, sodass Sie eine ziemlich aktuelle Version von Discourse benötigen:
Zum Beispiel könnten Sie das Präfix bathinda- verwenden, das garantiert nicht mit etwas in Discourse kollidiert, weder jetzt noch in Zukunft. Es würde ungefähr so aussehen:
Nochmal vielen Dank. Die Komponente wurde erfolgreich erstellt, verwendet/aktiviert.
Nachdem die Nachrichten ‘Automatically Bumped’ ausgeblendet wurden, sieht es jedoch so aus.
Ah, ich verstehe, das liegt an den Zeitlücken-Nachrichten, die nicht ausgeblendet werden. Das ist knifflig, weil man mit CSS kein vorheriges Element ansprechen kann.