クリック可能なトピック

: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

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

「いいね!」 4

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

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

プレビューが機能しなくなりました

「いいね!」 2

これで大丈夫だと思います。:slightly_smiling_face::+1:

「いいね!」 2

現在壊れています。

このコンポーネントは、カテゴリ + 最新ビュー(デフォルトでは私たちのケース)のトピックカードをクリック可能にするために使用していました。本日、最新の3.1.0beta8(現在は3.2.0.beta1-devと表示されています)にアップデートされてから、コンポーネントが正しく機能しなくなりました。

現在、カーソルのアクティブ状態はクリック可能のままですが、トピックエリアはクリックできません。ブラウザのコンソールを開くとエラーが表示されており、開発者が問題を特定するのに役立つかもしれません。

Uncaught TypeError: this.router is undefined

function navigateToTopic(topic, href) {
    if (this.siteSettings.page_loading_indicator !== "slider") {
      // スライダーを使用する場合、他のトピックコンテンツがロードされた後にヘッダーが更新される方が快適なため、
      // ここで早期に設定するのはスキップします。
      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;
  }

エラーが発生している行は次のとおりです。

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

これは、コアで計画中/進行中のEmberのアップグレードに関連している可能性がありますか?

@kinetiksoft様 - こちらでは問題を再現できませんでした。テーマコンポーネントは、最新バージョンのDiscourseに対して正常に機能しているようです。OPの「テーマクリエイターでプレビュー」リンクも機能しているようです。

問題のあるサイトのリンクを共有していただけますか?他のテーマ/プラグインとの競合があるのかもしれません。

「いいね!」 2

ありがとうございます。該当コミュニティへのリンクをプライベートメッセージでお送りしました。公に共有するのは適切ではありません。

「いいね!」 1

@kinetiksoftさん、ありがとうございます!問題は、テーマコンポーネントが「カテゴリ+最新」ビュー(ホームページとして設定されているもの)と併用されている場合に発生するようです。

問題を解決するプルリクエストを作成しました。

マージされたらここに投稿します。その後、フォーラムをDiscourseコアの最新バージョンにアップデートする必要があります。

「いいね!」 3

Davidさん、ありがとうございます!完璧に動作するコンポーネントの問題を特定するお手伝いができてよかったです。

「いいね!」 2

完了しました。これにより、次回のDiscourseの最新バージョンへのアップデート時に有効になるはずです。

「いいね!」 1

今週後半にアップデートを試行し、状況がどうなっているか必ずこのトピックに戻って報告します。改めてありがとうございます!

「いいね!」 1

問題が解決されたことを確認できます。改めてありがとうございました!:heart:

「いいね!」 1

このコンポーネントをDocsプラグインでサポートするように変更するにはどうすればよいですか?

Discourse 3.4.0.beta2-dev の最新バージョンを実行しています。


このテーマコンポーネントの設定に何か問題があるのかどうか分かりませんが、カード上のトピックの本文テキストがすべてクリックできません。テキストの末尾のすぐ横をクリックすると、カードをアクティブにしてトピックを開くことができます。

何が原因なのか、何か考えはありますか?

皆様のご協力とご意見に前もって感謝いたします。 :slight_smile:

「いいね!」 4

こんにちは、そのTCありがとうございます。しかし、ある地域がクリックできないようです。