Klickbares Thema

:discourse2: Zusammenfassung Clickable Topic macht den gesamten Bereich eines topic-list-item anklickbar, im Gegensatz zu nur dem Titel des Themas.
:eyeglasses: Vorschau Vorschau im Discourse Theme Creator
:hammer_and_wrench: Link zum Repository https://github.com/discourse/discourse-clickable-topic
:open_book: Neu bei Discourse Themes? Anfängerleitfaden zur Verwendung von Discourse Themes

Dieses Theme-Komponente installieren

Funktionen

preview

:discourse2: Von uns gehostet? Theme-Komponenten können in unseren Standard-, Business- und Enterprise-Plänen verwendet werden.

46 „Gefällt mir“

Vielen Dank, das war wirklich nötig! :heart:

4 „Gefällt mir“

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:
image

Grundsätzlich sollte der rote Kasten auf der linken Seite anklickbar sein:

Oder um ein perfektes Bild davon zu haben, was ich erreichen möchte: Das Design des Blizzard-Forums nachzubauen, da es mir sehr gefällt:

Ich würde mich über jede Hilfe freuen.

Während ich auf eine Antwort wartete, habe ich auch die Komponenten-Seite hier gefunden:
https://github.com/discourse/discourse/tree/master/app/assets/javascripts/discourse/app/components
Und verschiedene Ideen ausprobiert, aber es scheint, als wäre mein Hook gar nicht verfügbar? Oder ich übersehe etwas!? :slight_smile:

Schön, dass dir die Komponente gefällt!

Danke für die Vorschläge :grinning_face_with_smiling_eyes:

Derzeit ist diese Komponente nur für Topics in einer Topic-Liste ausgelegt.

1 „Gefällt mir“

Wenn Sie dieses Komponent experimentell forken möchten, sind Sie herzlich eingeladen, dies zu tun :+1:

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…

app/assets/javascripts/discourse/app/components/categories-and-latest-topics.js
app/assets/javascripts/discourse/app/components/categories-and-top-topics.js
app/assets/javascripts/discourse/app/components/categories-boxes-topic.js
app/assets/javascripts/discourse/app/components/categories-boxes-with-topics.js
app/assets/javascripts/discourse/app/components/categories-boxes.js
app/assets/javascripts/discourse/app/components/categories-only.js
app/assets/javascripts/discourse/app/components/category-list-item.js

3 „Gefällt mir“

Die Vorschau funktioniert nicht mehr

2 „Gefällt mir“

Ich denke, das sollte jetzt in Ordnung sein. :slightly_smiling_face::+1:

2 „Gefällt mir“

Jetzt defekt.

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;
  }

Der Fehler, der für die Zeile ausgelöst wird:

historyUuid: this.router.location.getState?.().uuid

Könnte dies mit den geplanten/laufenden Ember-Upgrades im Kern zusammenhängen?

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.

2 „Gefällt mir“

Danke! Ich habe dir eine PM mit einem Link zu der betreffenden Community geschickt. Es ist nicht angebracht, sie öffentlich zu teilen.

1 „Gefällt mir“

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.

3 „Gefällt mir“

Danke David! Schön, dass wir helfen konnten, das Problem in einer perfekt funktionierenden Komponente zu identifizieren.

2 „Gefällt mir“

Alles erledigt – es sollte also beim nächsten Update auf die neueste Version von Discourse wirksam werden

1 „Gefällt mir“

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!

1 „Gefällt mir“

Wir können bestätigen, dass das Problem behoben wurde. Nochmals vielen Dank! :heart:

1 „Gefällt mir“

Hallo, wie kann ich diese Komponente ändern, um das Docs-Plugin zu unterstützen?

Ich verwende die neueste Discourse-Version 3.4.0.beta2-dev.


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.

Haben Sie eine Idee, was dies verursachen könnte?

Vielen Dank im Voraus für Ihre Hilfe und Ihre Ratschläge. :slight_smile:

4 „Gefällt mir“

Hallo, danke für diesen TC, aber es scheint, dass eine Region nicht anklickbar bleibt?

Ich sehe diesen Fehler auf einer von mir verwalteten Seite inkonsistent:

Verwende Discourse 52ab90911 und Clickable Topic 37f0aa135fe

1 „Gefällt mir“