レイアウトを崩さずにカテゴリトップページから3階層目のカテゴリを非表示にするオプション

深い2階層のカテゴリ構造(市内のすべての公共図書館とその個別の支館、および独自の上位カテゴリを持つ中央図書館)を使用しています。最近、いくつかのカテゴリの枝に3階目のネストレベルを導入する必要が生じました。

ツリー内のどこかでカテゴリに孫カテゴリが1つでも存在すると、カテゴリのホームページはレンダリングモードを切り替えます。コンパクトなボックスグリッド(親カテゴリとその直接の子カテゴリを内部にリスト表示)の代わりに、すべてのカテゴリが1列の長いリストとしてレンダリングされます。これにより、ホームページは非常に長くなり、約1,200人のスタッフユーザーにとってスキャンしにくくなります。

これは、関連するスレッドで説明されている isGrandParent プロパティによって制御されているようです:When you add an additional nesting level, all categories, including child categories, are displayed on the categories page

望むこと

推奨オプション: カテゴリに3階目のネストレベルがある場合でも、標準的な「ボックス」レイアウトのホームページを維持する方法。例えば、ホームページに孫カテゴリを表示しないようにする(親カテゴリのページからアクセス可能)。これにより、ホームページのレイアウトが崩れるのを防げます。

代替案: 孫カテゴリを持つカテゴリに対して、カテゴリのホームページ上で直接展開/折りたたみ可能なビューをネイティブに提供し、ユーザーが必要なものだけを展開できるようにする。これにより、すべてのカテゴリがフラットに表示される問題を解消できます。

ネイティブ/公式のソリューションを要望する理由

上記の関連スレッドで議論されているテーマコンポーネント/CSSまたはJSの回避策(modifyClass を介して isGrandParent を上書きするなど)があることは承知していますが、このアプローチは避けたいと考えています。社内にはフロントエンドの専門知識が深くなく、コアのレンダリングロジックを独自に上書きすると、将来のDiscourseアップデートで予期しない副作用や破損が発生する可能性が懸念されます。サポートされている設定や公式のオプションがあれば、長期的なメンテナンスがはるかに安全になります。

Discourseは深いネストを公式に推奨していないことは承知していますが、私たちの組織構造(複数の機関、それぞれに複数の物理的な場所があり、それぞれに独自のスペースが必要)では、ネストの深さは避けられません。

これらのケースにおけるホームページの表示を制御するサポートされた方法があれば、大きな助けになります。2021年以降、他の組織でも隠された3階目の必要性が生じている可能性が高いと確信しています。

添付画像:現在の2階層のホームページレイアウト

および3階目が導入された場合の現在の表示状態。

「いいね!」 1