グループのユーザーリストに新しい列を追加

グループのユーザーリストに列を追加することは可能ですか?現在、ユーザーがアクティブ、一時停止中、ミュート中、または非アクティブのいずれであるかを示す列をグループのユーザーリストに追加するプラグインの機能追加を試みています。グループインデックスのHandlebarsテンプレートとグループインデックスコントローラーが対象となるようですが、プラグインのアウトレットがないため、新しい列を追加する正しい方法があるのかどうか疑問に思っています。Discourse開発は初めてなので、何か見落としているかもしれませんが、何かヒントがあれば非常に助かります。これらの開発ガイドは素晴らしいリソースとして読みましたが、現在行き詰まっています。

「いいね!」 1

こんにちは、metaへようこそ :wave:
group-index-table-header-after-username および group-index-table-row-after-username アウトレットを使用して、ユーザー名の列の隣にヘッダー/行を挿入できます。

例:

ヘッダーには TableHeaderToggle コンポーネントを使用できます。
行には、たとえば \u003cdiv class=\"directory-table__cell directory-table__cell--status\"\u003e{{this.args.member}}\u003c/div\u003e を使用できます。{{this.args.member}} でデータにアクセスできます。

新しい列を含めるには、グリッド CSS を修正する必要があります。

.group-members--can-manage {
    grid-template-columns: 3fr repeat(5, minmax(min-content, 1fr)) 3em;
                                      ^
}

列を移動したい場合、display: contents のため配置は少しトリッキーですが、order を使用すれば機能します。

ちなみに、ユーザーのステータスを取得するのに問題があるかもしれません。私のテストでは、ユーザーが一時停止またはミュートされている場合 (silencedTillDate または suspendedTillDate が未定義)、データは member に反映されませんでした。バグかどうかはわかりません。今のところ、これ以上掘り下げていません!

お役に立てば幸いです。

「いいね!」 5

ありがとうございます!大変参考になりました。サイトが古いバージョンの Discourse (2.7) を使用しているため、group-index-table-header-after-username および group-index-table-row-after-username のアウトレットが表示されていなかったことに気づきました。

「いいね!」 1

どういたしまして!2.7!確かにかなり古いですね。:smile:

ちなみに、このコンポーネントの使用を強くお勧めします: https://meta.discourse.org/t/plugin-outlet-locations-theme-component/100673。非常に便利です!:+1:

「いいね!」 4

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.