Massenhaftes Unterdrücken von Themen aus /latest funktioniert nicht wie erwartet

Hallo zusammen,

ich benutze derzeit das Plugin Suppress category from latest, um Themen von der /latest-Seite auszublenden, sie aber dennoch innerhalb ihrer jeweiligen Kategorien anzuzeigen. Ich habe etwa 200 Kategorien, die ich von /latest ausblenden möchte, und nur etwa 10 Kategorien, die Themen auf der Homepage anzeigen sollen.

Um dies zu erreichen, habe ich versucht, den folgenden Code in der Rails-Konsole auszuführen:

Category.all.each do |cat|
  cat.custom_fields["suppress_latest"] = true
  cat.save_custom_fields(true)
end

Der Befehl scheint ohne Fehler ausgeführt zu werden (er gibt sogar {"suppress_latest"=>"t"} zurück), aber wenn ich die /latest-Seite überprüfe, sind die Themen aus diesen Kategorien immer noch sichtbar.

Hier sind die Schritte, die ich bereits unternommen habe:

  • Ich habe ./launcher rebuild app und ./launcher restart app ausgeführt.
  • Ich habe per Rails-Konsole bestätigt, dass das benutzerdefinierte Feld für die betroffenen Kategorien auf "t" gesetzt ist.
  • Ich habe auch versucht, Caches zu leeren, aber nichts scheint sich zu ändern.

Es scheint, dass die Themen aus diesen Kategorien immer noch auf der Homepage angezeigt werden, auch nachdem das benutzerdefinierte Feld gesetzt wurde. Hat jemand dieses Problem schon einmal erlebt oder einen Weg gefunden, Themen effektiv von /latest zu unterdrücken? Gibt es ein bekanntes Kompatibilitätsproblem mit Unterkategorien oder sollte das Plugin einen anderen Schlüssel/Wert für die Unterdrückung verwenden?

Jeder Rat oder alternative Ansätze wären sehr willkommen!

Vielen Dank!

Ein kurzer Blick in den Core-Code findet kein suppress_latest.

Vielleicht meinen Sie die Website-Einstellung Alle Kategorien standardmäßig stummschalten?

1 „Gefällt mir“

Plugin-Autor hier!

Sollte sein
cat.custom_fields[:suppress_category_from_latest] = true

Aber… diese Werte werden auch in einer Klassenvariablen zwischengespeichert. Der einfachste Weg, damit umzugehen, ist, die Kategorie ebenfalls zu save! (siehe hier)

Das funktioniert also

Category.all.each do |cat|
  cat.custom_fields[:suppress_category_from_latest] = true
  cat.save_custom_fields(true)
  cat.save!
end
4 „Gefällt mir“

Hallo RGJ,

Vielen Dank für deine Anleitung. Ich habe den folgenden Befehl in meiner Rails-Konsole ausgeführt:

Category.all.each do |cat|
  cat.custom_fields[:suppress_category_from_latest] = true
  cat.save_custom_fields(true)
  cat.save!
end

Alles hat perfekt funktioniert! Meine Kategorien werden jetzt erfolgreich von der Seite /latest unterdrückt. Ich schätze deine Hilfe sehr.

Mit freundlichen Grüßen,

3 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.