TheBaby5
(Bug Reporter)
2021 年 3 月 15 日午後 7:18
2
Thank you so much, very needed thing!
「いいね!」 4
B-iggy
(B Iggy)
2021 年 6 月 13 日午前 6:56
10
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:
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.
B-iggy
(B Iggy)
2021 年 6 月 16 日午後 12:37
11
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!?
Glad you like the component!
Thanks for the suggestions
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
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.
import { withPluginApi } from "discourse/lib/plugin-api";
import { wantsNewWindow } from "discourse/lib/intercept-click";
export default {
name: "clickable-topic-list-item",
initialize() {
withPluginApi("0.8.14", api => {
api.modifyClass("component:topic-list-item", {
click(event) {
const result = this.showEntrance(event);
if (result === false) return result;
const topic = this.topic;
const target = $(event.target);
if (target.hasClass("bulk-select")) {
const selected = this.selected;
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
現在壊れています。
このコンポーネントは、カテゴリ + 最新 ビュー(デフォルトでは私たちのケース)のトピックカードをクリック可能にするために使用していました。本日、最新の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のアップグレードに関連している可能性がありますか?
We want to update the Ember version used in Discourse.
Right now, we’re on 3.15, and we’d like to get to 4.1
We’ve set a goal to finish this work by the end of this year. Please note that this topic is a roadmap, and all the plans and estimates are tentative. This topic is not intended to house any significant discussions about particular upgrades or changes. So, let’s keep the conversation here a bit focused. Questions about how these updates will affect your site/plugin/theme are off-topic. …
david
(David Taylor)
2023 年 8 月 7 日午後 12:28
18
@kinetiksoft様 - こちらでは問題を再現できませんでした。テーマコンポーネントは、最新バージョンのDiscourseに対して正常に機能しているようです。OPの「テーマクリエイターでプレビュー」リンクも機能しているようです。
問題のあるサイトのリンクを共有していただけますか?他のテーマ/プラグインとの競合があるのかもしれません。
「いいね!」 2
ありがとうございます。該当コミュニティへのリンクをプライベートメッセージでお送りしました。公に共有するのは適切ではありません。
「いいね!」 1
david
(David Taylor)
2023 年 8 月 7 日午後 2:01
20
@kinetiksoftさん 、ありがとうございます!問題は、テーマコンポーネントが「カテゴリ+最新」ビュー(ホームページとして設定されているもの)と併用されている場合に発生するようです。
問題を解決するプルリクエストを作成しました。
main ← navigate-to-topic
opened 01:57PM - 07 Aug 23 UTC
This function was previously expecting multiple services to be injected on any c… lass that uses it. This kind of hidden requirement leads to some very difficult-to-debug situations, so this commit updates the function to lookup all its required services inline.
マージされたらここに投稿します。その後、フォーラムをDiscourseコアの最新バージョンにアップデートする必要があります。
「いいね!」 3
Davidさん、ありがとうございます!完璧に動作するコンポーネントの問題を特定するお手伝いができてよかったです。
「いいね!」 2
david
(David Taylor)
2023 年 8 月 7 日午後 3:56
22
David Taylor:
マージされたらここに投稿します
完了しました。これにより、次回のDiscourseの最新バージョンへのアップデート時に有効になるはずです。
「いいね!」 1
今週後半にアップデートを試行し、状況がどうなっているか必ずこのトピックに戻って報告します。改めてありがとうございます!
「いいね!」 1
問題が解決されたことを確認できます。改めてありがとうございました!
「いいね!」 1
このコンポーネントをDocsプラグインでサポートするように変更するにはどうすればよいですか?
Discourse 3.4.0.beta2-dev の最新バージョンを実行しています。
このテーマコンポーネントの設定に何か問題があるのかどうか分かりませんが、カード上のトピックの本文テキストがすべてクリックできません。テキストの末尾のすぐ横をクリックすると、カードをアクティブにしてトピックを開くことができます。
何が原因なのか、何か考えはありますか?
皆様のご協力とご意見に前もって感謝いたします。
「いいね!」 4
こんにちは、そのTCありがとうございます。しかし、ある地域がクリックできないようです。