クリック可能なトピック

:discourse2: 概要 topic-list-item のタイトルだけでなく、その領域全体を「Clickable Topic」でクリック可能にします。
:eyeglasses: プレビュー Discourse Theme Creator でプレビュー
:hammer_and_wrench: リポジトリリンク https://github.com/discourse/discourse-clickable-topic
:open_book: Discourse テーマは初めてですか? Discourse テーマの使い方入門ガイド

このテーマコンポーネントをインストール

機能

preview

:discourse2: 当方でホストされていますか? テーマコンポーネントは、Standard、Business、Enterprise プランで利用可能です。

「いいね!」 46

本当にありがとうございます、とても必要なことですね!:heart:

「いいね!」 4

非常に役立つコンポーネントですね!ユーザーエクスペリエンスの観点からすれば、Discourse に標準搭載されているべきだと思いますが、これは私の意見です。

ともあれ、同じロジックをカテゴリにも適用しようとして行き詰まっています。api.modifyClass で実装しようとしたのですが、重要な部分を見落としているようです。ご協力いただけますでしょうか。

私のデスクトップページには、この設定があります:
image

基本的には、左側の赤い枠をクリック可能にしたいのです:

あるいは、私が目指している完璧なイメージとしては、Blizzard のフォーラムデザインを再現することです。あのデザインが非常に気に入っているためです:

どなたかご支援いただければ幸いです。

レスポンスを待っている間、こちらのコンポーネントページも見つけました:
https://github.com/discourse/discourse/tree/master/app/assets/javascripts/discourse/app/components
さまざまなアプローチを試してみましたが、どうやら私のフックがそもそも利用できないようです?それとも何か見落としているのでしょうか!? :slight_smile:

コンポーネントをお気に召していただき光栄です!

ご提案ありがとうございます :grinning_face_with_smiling_eyes:

現時点では、このコンポーネントはトピックリスト内の Topics 向けにのみ設計されています。

「いいね!」 1

このコンポーネントを実験的にフォークしたい場合は、喜んでお任せします :+1:

カテゴリをクリック可能にするための出発点として、Discourse コア内の topic-list-item コンポーネントを変更することでこれを実現している、このコンポーネントのコードを参照することをお勧めします。

このフォルダ内に新しいファイルを作成し、当コンポーネントに含まれる多数のカテゴリレイアウトのいずれかをターゲットにしてみてください。その際、フォーラムで選択したカテゴリページスタイルと同じものをターゲットにすることをお忘れなく。

いくつかの例を以下にその場所とともにリストします。

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ありがとうございます。しかし、ある地域がクリックできないようです。

管理しているサイトで、このエラーが断続的に発生しています。

Discourse 52ab90911 および Clickable Topic 37f0aa135fe を実行しています。

「いいね!」 1