Alteras
(Steven Chang)
2024 年 8 月 13 日午後 8:03
1
これにより、トピックリストにソート可能な作成日列が追加されます。また、ナビゲーションバーにオプションの「作成済み」タブも追加されます。
デスクトップ表示では、列全体が追加されます。モバイルでは、作成日のみがアクティビティ日とともにインラインで表示され、「作成済み」ソートが選択されている場合(以下のスクリーンショットを参照)にのみ表示されます。
\u003e このコンポーネントを使用する前に、コミュニティが作成日を知る必要性を評価することをお勧めします。新しいトピックを一定期間内に自動フラグ付けする組み込みの方法がすでに存在します(ユーザーは設定 > トラッキング > トピックでカスタマイズできます)。
設定
作成日による並べ替えナビゲーションバー項目を有効にする
ナビゲーションメニューに「作成日による並べ替え」ナビゲーションバー項目を追加します。デフォルト:true
スクリーンショット
デスクトップ
モバイル
作成日フィルターのみで列を有効にする
作成日フィルター外での作成日列の表示を防ぎます。「作成日による並べ替えナビゲーションバー項目を有効にする」がtrueである必要があります。デフォルト:false
ホームページでナビゲーションバー項目を有効にする
ホームページに「作成日による並べ替え」ナビゲーションバー項目を追加します。デフォルト:true
ホームページで列を有効にする
ホームページに「作成済み」列を追加します。デフォルト:true
ナビゲーションバー項目を表示するカテゴリ
「作成日による並べ替え」ナビゲーションバー項目を表示するカテゴリのリスト。すべてに表示するには空のままにします。デフォルト:empty
作成済み列を表示するカテゴリ
「作成済み」列を表示するカテゴリのリスト。すべてに表示するには空のままにします。デフォルト:empty
ナビゲーションバー項目の前
リスト内のナビゲーションバー項目の位置を調整します。デフォルト:top。
スクリーンショット
並べ替え
モバイルビュー
カテゴリとタグ付き
互換性 & 注意事項
モバイルでは、並べ替え機能はすでに大きく制限されているため、作成日は情報提供のみとして機能します。追加フィールドは、作成日が最終更新日と異なる場合にのみ表示されます。
Topic List Thumbnails との互換性は限定的です。リストスタイルでは、通常どおり機能します。ブログスタイルでは、作成日は右下に表示されます。グリッドスタイルとマッシュルームスタイルでは、作成日は「作成済み」フィルターが選択されている場合にのみ表示され、最終更新日を置き換えます。最小スタイルでは、作成日は非表示になります。
「いいね!」 16
Monikas
(JustMonika)
2024 年 8 月 15 日午前 10:20
2
素晴らしい、フォーラムを変更する別の完璧なプラグインです! Discourse Nav Item Icon / Emoji プラグインと統合できれば素晴らしいでしょう。
「いいね!」 3
Don
2024 年 8 月 15 日午後 1:30
3
これで機能するはずです。
例のように追加するだけです。
emoji:created_date:twitter:spiral_calendar:filter
「いいね!」 4
Alteras
(Steven Chang)
2024 年 8 月 15 日午後 3:46
4
設定を追加できることを確認しました。Don が行っているように、機能します。
「いいね!」 5
素晴らしい!残念ながら、Topic Thumbnails TC とうまく連携せず、何らかの理由で余分な時間が追加されます。
中央下部にある余分な 7 時間に注意してください。
.topic-list .topic-list-data:last-of-type を非表示にできると思いますが、お知らせしておきます
編集:別の奇妙な点を見つけました。最新 をクリックすると 作成済み が強調表示され、作成済み をクリックすると 最新 が強調表示されます
「いいね!」 1
Alteras
(Steven Chang)
2024 年 8 月 16 日午後 9:29
6
ふむ。それは興味深いですね。トピックサムネイルと作成トピックソートが同時にテンプレートに追加されることによる奇妙な副作用のようです。Masonryとグリッドモードの問題でしょうか?テーマコンポーネントの使用をクリーンに検出する方法を見つけたら、CSSで適切な調整を試してみます。
最新と作成のハイライトは非常に奇妙に聞こえます。作成は /latest?order=created がURLに含まれている場合にのみハイライトされるはずですが…うーん…
Alteras
(Steven Chang)
2024 年 8 月 17 日午前 12:10
7
コンポーネントの一部を更新し、Topic Thumbnails コンポーネントに合わせて(少なくともそれに合わせるように)見栄えを良くしました。
main ← feat/topic-thumbnail-compat
opened 11:47PM - 16 Aug 24 UTC
ブログ スタイルでは、作成日は右下隅に表示されます。バンプ日時の隣にきれいに配置する方法が見つからなかったので、これで十分です。グリッド スタイルとメーソンリー スタイルでは、作成日は「作成済み」フィルターが選択されている場合にのみ表示され、アクティビティ日時が置き換えられます。アクティビティ日時と作成日時の両方を同時に表示しようとしましたが、カードが窮屈になってしまいました。ミニマル スタイルでは、作成日は非表示になります。
putty
(Derek Putnam)
2025 年 1 月 31 日午後 4:55
8
これをカテゴリスコープに対応させるのは難しいでしょうか?アナウンスセクションでは使用したいのですが、一般的なディスカッションなどでは表示したくありません。
「いいね!」 1
Alteras
(Steven Chang)
2025 年 1 月 31 日午後 10:58
9
いいえ、まったく!ナビゲーションバーの項目と列が表示される場所を制御するための4つの新しい設定を追加するアップデートをリリースしました。
ホームページにナビゲーションバー項目を有効にする : ホームページに「作成日で並べ替え」ナビゲーションバー項目を追加します。
ホームページに列を有効にする : ホームページに「作成日」列を追加します。
ナビゲーションバー項目を表示するカテゴリ : 「作成日で並べ替え」ナビゲーションバー項目に表示するカテゴリのリスト。すべてのカテゴリに表示する場合は空のままにします。
作成日列を表示するカテゴリ : 「作成日」列を表示するカテゴリのリスト。すべてのカテゴリに表示する場合は空のままにします。
main ← feat/category-filters
opened 10:50PM - 31 Jan 25 UTC
ただし、列の表示に関する制限は、新しいトピックリストの変更を使用しているサイトでのみ機能することに注意してください。
「いいね!」 2
dsims
(Daniel)
2025 年 3 月 26 日午後 11:44
11
これをデフォルトのホームページにする方法はありますか?いくつかのプラグインが「トップメニュー」サイト設定にオプションを追加しているのを見たので、可能だと思います。
その後、CSSで標準の「最新」を非表示にすることで、効果的に置き換えることができます。
Alteras
(Steven Chang)
2025 年 3 月 27 日午後 3:29
12
デフォルトのホームページは少しのJavaScriptで設定できます:
import { setDefaultHomepage } from "discourse/lib/utilities";
setDefaultHomepage("/latest?order=created");
トップメニューの設定にオプションを追加するのは確かに望ましいですが、少なくとも私が最後に確認した時点では、それをTCから行う方法はないと思います。途中で何か変わったかどうか確認しなければなりません。
「いいね!」 1
dsims
(Daniel)
2025 年 3 月 27 日午後 4:13
13
ありがとうございます!それは機能するはずですが、URLに%3F_discourse_homepage_rewriteが追加され、並べ替えに干渉します。
}
}
const homepageRewriteParam = "_discourse_homepage_rewrite";
/**
* Returns a magic URL which `discovery-index` will redirect to.
* We watch for this, and then perform the rewrite in the router.
*/
export function homepageDestination() {
return `/${defaultHomepage()}?${homepageRewriteParam}=1`;
}
function rewriteIfNeeded(url, transition) {
const intentUrl = transition?.intent?.url;
if (
intentUrl?.startsWith(homepageDestination()) ||
(transition?.intent.name === `discovery.${defaultHomepage()}` &&
transition?.intent.queryParams[homepageRewriteParam])
) {
const params = (intentUrl || url).split("?", 2)[1];
「いいね!」 2
dsims
(Daniel)
2025 年 3 月 27 日午後 4:38
14
setDefaultHomepage("latest?order=created&"); で回避できましたが、
しかし 、問題は、すべてのインジケーターがそう言っているにもかかわらず、実際の並べ替えが適用されないことです。
そこで、Custom Homepage for Groups で同じURLを試したところ、うまくいきました そのコンポーネントのリダイレクトが、同じ方法を使用していると確信しているのに、なぜ異なる動作をするのかはよくわかりません。
「いいね!」 2
dsims
(Daniel)
2025 年 3 月 27 日午後 5:04
15
解決しました。PreloadStore をクリアする必要がありました。
デフォルトのテーマを編集するか、新しいコンポーネントを追加して、これを JS に追加できます。
import { apiInitializer } from "discourse/lib/api";
import { setDefaultHomepage } from "discourse/lib/utilities";
import PreloadStore from "discourse/lib/preload-store";
export default apiInitializer((api) => {
setDefaultHomepage("latest?order=created&");
PreloadStore.remove("topic_list");
});
そして、最新タブを削除するには、この CSS を追加します。
li.nav-item_latest {
display: none;
}
ルートホームページの URL に留まることができればよかったのですが、それはおそらくプラグインが必要になるでしょう。
「いいね!」 3
dsims
(Daniel)
2025 年 6 月 19 日午後 3:56
16
結局そのプラグインを作成しました: Created as Default Sort Order
これで私のホームページは作成日でクリーンにソートされています。列を追加するためにこのコンポーネントをまだ使用しています。
「いいね!」 4
RGJ
(Richard - Communiteq)
2025 年 10 月 28 日午前 10:12
18
この素晴らしいテーマコンポーネントをありがとうございます!
ナビバーの項目が表示される場所を設定できる、非常に小さくてシンプルなPR を作成しました。
「いいね!」 2
Alteras
(Steven Chang)
2025 年 10 月 28 日午後 2:54
19
PRありがとうございます!マージし、OPの設定の説明を更新しました。
「いいね!」 1