作成済みトピックのソート

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

トピック一覧にソート可能な作成日カラムを追加します。また、オプションでナビゲーションバーに「Created」タブを追加します。

デスクトップ表示では、完全なカラムが追加されます。モバイル表示では、「Created」でソートされた場合のみ、アクティビティ日付とインラインで作成日が表示されます(以下のスクリーンショットを参照)。

:information_source: このコンポーネントを使用する前に、コミュニティが作成日を知る必要性を評価することをお勧めします。特定の期間内に作成されたトピックを自動的にフラグ付けする組み込み機能(ユーザーは [設定 > 追跡 > トピック] でカスタマイズ可能)が既に存在します。

設定

「作成日でソート」ナビゲーションバー項目の有効化

ナビゲーションメニューに「作成日でソート」のナビゲーションバー項目を追加します。デフォルト: true

スクリーンショット

デスクトップ

モバイル

作成日フィルター時のみカラムを有効化

作成日フィルター以外では作成日カラムを表示しないようにします。「作成日でソート」ナビゲーションバー項目の有効化が true である必要があります。デフォルト: false

ホームページでナビゲーションバー項目を有効化

ホームページに「作成日でソート」のナビゲーションバー項目を追加します。デフォルト: true

ホームページでカラムを有効化

ホームページに「Created」カラムを追加します。デフォルト: true

ナビゲーションバー項目を表示するカテゴリ

「作成日でソート」のナビゲーションバー項目を表示するカテゴリのリスト。空欄の場合、すべてのカテゴリで表示されます。デフォルト: empty

作成カラムを表示するカテゴリ

「Created」カラムを表示するカテゴリのリスト。空欄の場合、すべてのカテゴリで表示されます。デフォルト: empty

ナビゲーションバー項目を表示するタグ

「作成日でソート」のナビゲーションバー項目を表示するタグのリスト。空欄の場合、すべてのタグで表示されます。デフォルト: empty

作成カラムを表示するタグ

「Created」カラムを表示するタグのリスト。空欄の場合、すべてのタグで表示されます。デフォルト: empty

ナビゲーションバー項目の位置

ナビゲーションバー項目のリスト内での位置を調整します。デフォルト: top

スクリーンショット

ソート


モバイル表示

カテゴリとタグ付き

互換性と注意事項

モバイルではソート機能が既に大きく制限されているため、作成日は情報表示としてのみ機能します。追加フィールドは、作成日が更新日と異なる場合のみ表示されます。

トピック一覧のサムネイル との互換性は限定的です。リストスタイルでは正常に機能します。ブログスタイルでは、作成日が右下に配置されます。グリッドスタイルとレンガ積みスタイルでは、「Created」フィルターが選択された場合のみ作成日が表示され、アクティビティ日付に置き換わります。ミニマリストスタイルでは、作成日は非表示になります。

「いいね!」 17

素晴らしい、フォーラムを変更する別の完璧なプラグインです! Discourse Nav Item Icon / Emoji プラグインと統合できれば素晴らしいでしょう。

「いいね!」 3

これで機能するはずです。:slight_smile:
例のように追加するだけです。
emoji:created_date:twitter:spiral_calendar:filter

「いいね!」 4

設定を追加できることを確認しました。Don が行っているように、機能します。


「いいね!」 5

素晴らしい!残念ながら、Topic Thumbnails TC とうまく連携せず、何らかの理由で余分な時間が追加されます。

中央下部にある余分な 7 時間に注意してください。

.topic-list .topic-list-data:last-of-type を非表示にできると思いますが、お知らせしておきます :grin:

編集:別の奇妙な点を見つけました。最新 をクリックすると 作成済み が強調表示され、作成済み をクリックすると 最新 が強調表示されます :zany_face:

「いいね!」 1

ふむ。それは興味深いですね。トピックサムネイルと作成トピックソートが同時にテンプレートに追加されることによる奇妙な副作用のようです。Masonryとグリッドモードの問題でしょうか?テーマコンポーネントの使用をクリーンに検出する方法を見つけたら、CSSで適切な調整を試してみます。

最新と作成のハイライトは非常に奇妙に聞こえます。作成は /latest?order=created がURLに含まれている場合にのみハイライトされるはずですが…うーん…

コンポーネントの一部を更新し、Topic Thumbnails コンポーネントに合わせて(少なくともそれに合わせるように)見栄えを良くしました。

ブログ スタイルでは、作成日は右下隅に表示されます。バンプ日時の隣にきれいに配置する方法が見つからなかったので、これで十分です。グリッド スタイルとメーソンリー スタイルでは、作成日は「作成済み」フィルターが選択されている場合にのみ表示され、アクティビティ日時が置き換えられます。アクティビティ日時と作成日時の両方を同時に表示しようとしましたが、カードが窮屈になってしまいました。ミニマル スタイルでは、作成日は非表示になります。

これをカテゴリスコープに対応させるのは難しいでしょうか?アナウンスセクションでは使用したいのですが、一般的なディスカッションなどでは表示したくありません。

「いいね!」 1

いいえ、まったく!ナビゲーションバーの項目と列が表示される場所を制御するための4つの新しい設定を追加するアップデートをリリースしました。

  • ホームページにナビゲーションバー項目を有効にする: ホームページに「作成日で並べ替え」ナビゲーションバー項目を追加します。
  • ホームページに列を有効にする: ホームページに「作成日」列を追加します。
  • ナビゲーションバー項目を表示するカテゴリ: 「作成日で並べ替え」ナビゲーションバー項目に表示するカテゴリのリスト。すべてのカテゴリに表示する場合は空のままにします。
  • 作成日列を表示するカテゴリ: 「作成日」列を表示するカテゴリのリスト。すべてのカテゴリに表示する場合は空のままにします。

ただし、列の表示に関する制限は、新しいトピックリストの変更を使用しているサイトでのみ機能することに注意してください。

「いいね!」 2

ありがとうございます!:star_struck: 素晴らしいです!

これをデフォルトのホームページにする方法はありますか?いくつかのプラグインが「トップメニュー」サイト設定にオプションを追加しているのを見たので、可能だと思います。

その後、CSSで標準の「最新」を非表示にすることで、効果的に置き換えることができます。

デフォルトのホームページは少しのJavaScriptで設定できます:

import { setDefaultHomepage } from "discourse/lib/utilities";
setDefaultHomepage("/latest?order=created");

トップメニューの設定にオプションを追加するのは確かに望ましいですが、少なくとも私が最後に確認した時点では、それをTCから行う方法はないと思います。途中で何か変わったかどうか確認しなければなりません。

「いいね!」 2

ありがとうございます!それは機能するはずですが、URLに%3F_discourse_homepage_rewriteが追加され、並べ替えに干渉します。:confounded_face:

「いいね!」 2

setDefaultHomepage("latest?order=created&"); で回避できましたが、
しかし、問題は、すべてのインジケーターがそう言っているにもかかわらず、実際の並べ替えが適用されないことです。

そこで、Custom Homepage for Groups で同じURLを試したところ、うまくいきました :tada: そのコンポーネントのリダイレクトが、同じ方法を使用していると確信しているのに、なぜ異なる動作をするのかはよくわかりません。

「いいね!」 2

解決しました。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

結局そのプラグインを作成しました: Created as Default Sort Order
これで私のホームページは作成日でクリーンにソートされています。列を追加するためにこのコンポーネントをまだ使用しています。

「いいね!」 4

この素晴らしいテーマコンポーネントをありがとうございます!

ナビバーの項目が表示される場所を設定できる、非常に小さくてシンプルなPRを作成しました。

「いいね!」 2

PRありがとうございます!マージし、OPの設定の説明を更新しました。

「いいね!」 1

タグビューでこれを動作させることは可能ですか?現在、タグを表示すると、作成メニューオプションが消えてしまいます。よろしくお願いいたします!

更新しました!tags_to_display_nav_bar_item および tags_to_display_created_column の設定が追加されました。

「いいね!」 3