Klickbares Thema

:discourse2: Summary Clickable Topic makes the entire area of a topic-list-item clickable, as opposed to just the topic title.
:eyeglasses: Preview Preview on Discourse Theme Creator
:hammer_and_wrench: Repository Link https://github.com/discourse/discourse-clickable-topic
:open_book: New to Discourse Themes? Beginner’s guide to using Discourse Themes

Install this theme component

Features

preview

:discourse2: Hosted by us? Theme components are available to use on our Standard, Business, and Enterprise plans.

Last edited by @JammyDodger 2024-06-11T12:48:31Z

Check documentPerform check on document:
46 „Gefällt mir“

Thank you so much, very needed thing! :heart:

4 „Gefällt mir“

That is a very helpful component! Should be from user experience point of view built into Discourse, but that is my opinion.

Anyways, I’m stuck in trying to make the same logic work for Categories. I wanted to do it with api.modifyClass but seem to miss the crucial part. Can you please help me?

I have this setting for my desktop page:
image

Basically the red box on the left should be clickable:

Or to have a perfect picture what I want to achieve: recreating the Blizzard Forum design, cause I like it a lot:

Appreciate any help here.

While waiting for a response I also found the components page here:

And tried different ideas but it seems my hook is not even available? Or I’m missing something!? :slight_smile:

Glad you like the component!

Thanks for the suggestions :grinning_face_with_smiling_eyes:

At the moment this component is only designed to work for Topics in a topic list.

1 „Gefällt mir“

If you want to experiment and fork this component, you are welcome to do so :+1:

As a starting point to get a category to be clickable, I would suggest looking through the code in this component that does so by modifying the topic-list-item component inside Discourse core.

You could try creating a new file within this same folder which targets one of the many types of category layouts included in our components, making sure to target the same category page style you have selected on your forum.

Some of these are listed in their locations below…

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?