Das ist eine sehr hilfreiche Komponente! Aus Sicht der Benutzererfahrung sollte sie meiner Meinung nach fest in Discourse integriert sein.
Wie auch immer, ich stecke fest, weil ich versuche, die gleiche Logik auch für Kategorien zu implementieren. Ich wollte das mit api.modifyClass machen, scheine aber den entscheidenden Teil zu verpassen. Könntest du mir bitte helfen?
Ich habe diese Einstellung für meine Desktop-Seite:
Grundsätzlich sollte der rote Kasten auf der linken Seite anklickbar sein:
Wenn Sie dieses Komponent experimentell forken möchten, sind Sie herzlich eingeladen, dies zu tun
Als Ausgangspunkt, um eine Kategorie anklickbar zu machen, empfehle ich, den Code in dieser Komponente zu untersuchen, der dies tut, indem er die topic-list-item-Komponente im Discourse-Kern modifiziert.
Sie könnten versuchen, eine neue Datei im selben Ordner zu erstellen, die eine der vielen Kategorien-Layouts in unseren Komponenten anspricht, wobei Sie sicherstellen müssen, dass Sie das gleiche Kategorien-Seiten-Design auswählen, das Sie auf Ihrem Forum ausgewählt haben.
Einige davon sind unten an ihren jeweiligen Orten aufgeführt…
Wir haben uns auf diese Komponente verlassen, um die Ansicht Kategorien + Neueste (standardmäßig in unserem Fall) mit klickbaren Themenkarten zu erstellen. Seit dem heutigen Update auf die neueste Version 3.1.0beta8 (jetzt wird sie als 3.2.0.beta1-dev angezeigt) funktioniert die Komponente nicht mehr richtig.
Nun bleibt der aktive Zustand des Cursors klickbar, aber der Themenbereich ist nicht klickbar. Mit geöffneter Browserkonsole gibt es einen Fehler, der Entwicklern helfen kann, das Problem zu identifizieren:
Uncaught TypeError: this.router is undefined
function navigateToTopic(topic, href) {
if (this.siteSettings.page_loading_indicator !== "slider") {
// Mit dem Slider fühlt es sich besser an, wenn sich die Kopfzeile aktualisiert, sobald der Rest des Themeninhalts geladen ist,
// überspringen Sie also das frühe Setzen.
this.appEvents.trigger("header:update-topic", topic);
}
this.session.set("lastTopicIdViewed", {
topicId: topic.id,
historyUuid: this.router.location.getState?.().uuid
});
_url.default.routeTo(href || topic.get("url"));
return false;
}
Hallo @kinetiksoft – Ich konnte das Problem auf meiner Seite nicht reproduzieren. Die Theme-Komponente scheint gut mit der neuesten Version von Discourse zu funktionieren. Die Verwendung des Links „Vorschau im Theme-Ersteller“ hier im OP scheint ebenfalls zu funktionieren.
Könnten Sie einen Link zu einer Website mit dem Problem teilen? Möglicherweise gibt es eine Kollision mit einem anderen Theme/Plugin.
Danke @kinetiksoft! Es scheint, dass das Problem auftritt, wenn die Theme-Komponente zusammen mit der Ansicht „Kategorien + Neueste“ verwendet wird (die Sie als Homepage konfiguriert haben).
Ich habe einen PR erstellt, der das Problem beheben sollte.
Ich werde hier posten, sobald er zusammengeführt wurde, und dann müssen Sie Ihr Forum auf die neueste Version von Discourse Core aktualisieren.
Wir werden diese Woche einen Update-Versuch unternehmen und ich werde auf dieses Thema zurückkommen, um zu berichten, wie alles läuft. Nochmals vielen Dank!
Ich bin mir nicht sicher, ob ich bei der Einrichtung dieser Theme-Komponente etwas falsch gemacht habe, aber der gesamte Textkörper auf dem Thema auf der Karte ist nicht anklickbar. Wenn Sie direkt nach dem Ende des Textes in einer Zeile klicken, können Sie die Karte aktivieren und das Thema öffnen.