サイドバーを使用すると、Discourse サイトの重要なセクションに素早くアクセスできます。ユーザーは自分の好みに合わせてサイドバーをカスタマイズできますが、思慮深いデフォルト設定を提供することで、特に新しいユーザーやフォラムの訪問者がより簡単にナビゲーションできるようになります。
このガイドでは、既存のセクションのカスタマイズ方法と、サイドバーに新しいセクションを作成する方法について説明します。また、サイドバーに関連するユーザー設定のデフォルトを構成するために調整できる設定についても学びます。
セクションのデフォルトコンテンツのカスタマイズ
コミュニティセクション
サイドバーの最上部セクション(見出しが表示されない部分)は「コミュニティ」セクションと呼ばれます。このセクションはすべてのユーザーに表示され、必要なナビゲーションリンクが含まれています。
このセクションをカスタマイズするには:
- サイドバーの「その他」をクリック
- 拡張メニューの下部にある「このセクションをカスタマイズ」を選択
以下の変更を行うことができます:
- アイコンをドラッグしてリンクの順序を変更
- 各エントリのアイコン、名前、リンクを編集
- セクションに新しいエントリを追加
デフォルトリンクの仕組み
一部のデフォルトリンクには特別な動作があります:
- 私の投稿 - このリンクはデフォルトで常に「私の投稿」と表示されます。ただし:
- ユーザーに下書きが 1 つ以上ある場合、リンクをクリックすると投稿履歴ではなく下書きに移動します。
- ユーザーが
experimental_new_new_groupsサイト設定で選択されたグループに所属している場合、下書きがあるときはリンクテキストも「私の下書き」に変更されます。
- 私のメッセージ -
personal_message_enabled_groupsに所属するユーザーにのみ表示されます。- 個人の受信トレイと所属グループの受信トレイの未読インジケーター、または未読メッセージ数を表示します。
- 未読メッセージがグループの受信トレイにある場合でも、常に個人の受信トレイに移動します。
- レビュー - スタッフとカテゴリモデレーターにのみ表示されます。
- 管理 - 管理者とモデレーターにのみ表示されます。
- 招待 - 他のユーザーを招待できるユーザーにのみ表示されます。
翻訳との連携
デフォルトリンクは、ユーザーが選択したインターフェース言語で自動的に表示されます。ただし:
- デフォルトリンクのテキストをカスタマイズすると、すべての言語で上書きされます
- 特定の言語のテキストや「私の下書き」のような非表示要素を編集するには、「Discourse でのテキストのカスタマイズ」ガイドの手順に従ってください。
プラグインで追加されたリンクの扱い
プラグインによって追加されたリンクは、現在サイドバーエディターを通じてカスタマイズできません。ただし、以下のアプローチを使用して独自のバージョンに置き換えることができます:
- オリジナルのプラグイン追加リンクを非表示にする
- 希望の動作と外観を持つカスタムリンクを追加する
一部のリンクはプラグインの設定で非表示にできます。例えば、今後のイベントリンクは sidebar_show_upcoming_events 設定を無効にすることで非表示にできます。
そのような設定がない場合は、カスタム CSS を使用してリンクを非表示にできます。
プラグインリンクを非表示または移動させる CSS の例
プラグインで追加されたリンクを完全に非表示にする
この例では、ActivityPub プラグインによって追加されたリンクを非表示にしています:
.sidebar-section-link-wrapper[data-list-item-name="activity-pub-about"] {
display: none;
}
「その他」メニューからのみリンクを非表示にする
リンクを「その他」メニューから常に表示されるように移動させる場合に便利です:
.sidebar-more-section-content
.sidebar-section-link-wrapper.dropdown-menu__item[data-list-item-name="anniversaries"] {
display: none;
}
メインセクションからのみリンクを非表示にする(「その他」メニューには表示)
リンクを常に表示される代わりに「その他」メニューに表示させたい場合に便利です:
.sidebar-section.sidebar-section-wrapper:not(.sidebar-more-section-content)
.sidebar-section-link-wrapper[data-list-item-name="docs"] {
display: none;
}
サイトへの CSS 変更の詳細については、CSS 変更に関するガイドをご覧ください。
カテゴリセクション
ユーザーのサイドバーにデフォルトで表示されるカテゴリは、default_navigation_menu_categories サイト設定で構成できます。以下の方法でアクセスできます:
- カテゴリセクションの下部にある「デフォルトを構成」をクリック(デフォルトが設定されていない場合にのみ表示されます)
- 管理 > すべてのサイト設定 からこの設定にアクセスし、検索
カテゴリの表示はユーザー権限を尊重します。制限付きカテゴリをデフォルトに含めても、ユーザーはアクセス権限があるカテゴリのみをサイドバーに表示します。制限付きカテゴリのみをデフォルトとして設定した場合:
- 訪問者は空のリストを表示します
- ログインユーザーは最も人気のあるカテゴリを表示します(すべてのカテゴリの選択を解除した場合と同じ)
「カテゴリ」の横にある メニューの「サイドバーカテゴリを編集」オプションは、すべてのユーザーのデフォルトではなく、個人表示のみをカスタマイズします。
タグセクション
ユーザーのサイドバーにデフォルトで表示されるタグは、default_navigation_menu_tags サイト設定で構成できます。以下の方法でアクセスできます:
- タグセクションの下部にある「デフォルトを構成」をクリック(デフォルトが設定されていない場合にのみ表示されます)
- 管理 > すべてのサイト設定 からこの設定にアクセスし、検索
タグの表示はユーザー権限を尊重します。非表示タググループ内のタグは、デフォルトに含まれていてもユーザーのサイドバーには表示されません。制限付きタグのみをデフォルトとして設定した場合:
- すべてのユーザー(訪問者を含む)は最も人気のあるタグを表示します(すべてのタグの選択を解除した場合と同じ)
「タグ」の横にある鉛筆アイコンは、すべてのユーザーのデフォルトではなく、個人表示のみをカスタマイズします。
チャットセクション
すべてのチャットセクションは、チャットが有効[1] であり、ユーザーがチャットの使用許可[2] を持ち、かつ設定でチャットを無効にしていない場合にのみ利用可能です。
チャット検索セクション
チャット検索は chat_search_enabled サイト設定で制御されます。
スレッドセクション
スレッドセクションは、スレッド化が有効なチャットの少なくとも 1 つに所属しているユーザーにのみ表示されます。
チャンネルセクション
チャンネルセクションには、ユーザーが参加しているチャットチャンネルが表示されます。カテゴリ権限に基づいて参加可能なチャンネルが少なくとも 1 つある場合、ユーザーはこのセクションを表示します。少なくとも 1 つのチャンネルに参加するまで、このセクションは空になります。
チャンネル設定を通じてチャンネルメンバーシップを自動化できます:
- チャンネル設定で自動メンバー追加を有効にする
- 条件を満たす新しいユーザーは自動的にサイドバーにチャンネルを表示します
DM セクション
ダイレクトメッセージセクションには、1 対 1 およびグループチャット会話が表示されます。このセクションを表示するには、ユーザーが direct_message_enabled_groups のいずれかに所属している必要があります。
このセクションのデフォルト会話を構成することはできません。ただし、空のセクションの代わりに「新しい DM を開始」ボタンが表示されます。
カスタムセクションの追加
カスタムリンクを含む追加セクションをサイドバーに作成できます。これらは最初のセクションの下、カテゴリセクションの上に表示されます。新しいセクションを追加するには:
- サイドバー下部の + ボタンをクリック
- セクションのタイトルを入力
- 追加したいリンクごとに:
- アイコンを選択
- リンクの名前を入力
- 宛先 URL を指定
- 「別のリンクを追加」をクリックしてさらにリンクを追加
- 「全員に表示」をチェックして、このセクションをすべてのユーザーに表示
- 「保存」をクリックしてセクションを作成
カスタムセクションの見出しの横にある小さな アイコンは管理者にのみ表示され、セクションが全員に表示されることを示します。
テキストラベルのカスタマイズ
セクションの見出しを含む、サイドバーのすべてのテキストラベルをカスタマイズできます:
- 管理 > 外観 > サイトテキスト に移動
- カスタマイズしたいテキストを検索
多くのサイドバーラベルは一般的な単語を使用しているため、特定のテキストキーを見つけるのが難しい場合があります。これを助けるために:
- 正しいテキストキーを特定するには、詳細なローカライゼーション機能 を使用
ユーザー設定のデフォルトのカスタマイズ
ユーザーは /my/preferences/navigation-menu でサイドバー設定をカスタマイズできます。これらの設定のデフォルトは、以下のサイト設定を使用して設定できます:
デフォルトサイドバーリンクのフィルタリストへのリンク
この設定は、サイドバーのトピックリストへのリンク(「すべてのトピック」やカテゴリ・タグセクション内のリンクを含む)が以下のように動作するかを制御します:
- 有効の場合:未読または新しいトピックのみを表示するようにフィルタリングされたリスト
- 無効の場合:すべてのトピックを含むリスト
デフォルトサイドバーの新規アイテム数の表示
この設定は、サイドバーで新規アイテムがどのように表示されるかを制御します:
チャット別サイドバーモード
有効の場合、ナビゲーションメニューにチャットまたはフォーラムボタンが追加されます。これにより、ユーザーは全画面チャット体験とフォーラム表示の間をより効率的に切り替えることができます。全画面チャットモードでは、サイドバーにはチャット関連のセクション(「私のスレッド」「チャンネル」「DM」など)のみが表示されます。「常に」に設定されている場合、フォーラムを閲覧中はサイドバーのチャット関連セクションが非表示になります。この設定により、フォーラムとチャットの体験を明確に分離できます。
default_sidebar_switch_panel_position というサイト設定があり、切り替えボタンをサイドバーの上部または下部に表示するかを決定できます。ユーザーは設定で位置を変更できません。
さらなるカスタマイズ
テーマコンポーネントを使用して、フォラムのサイドバーをさらに強化できます。利用可能なオプションについては、#theme-component::カテゴリで #sidebar::タグが付いたトピックを検索してください(リンク)。ただし、すべてのコンポーネントに Meta にトピックがあるわけではありません。他のトピックにもリンクされているものもあります。
テーマコンポーネントはサイドバーに機能を追加できます。いくつかの例:
- サイドバーのデフォルト表示を変更:
- デフォルトでサイドバーを閉じる:GitHub - VaperinaDEV/closed-sidebar-by-default
- デフォルトでセクションを折りたたむ:GitHub - Arkshine/discourse-collapsed-sidebar- sections-by-default
- サイドバーアイコンを変更し、動的にする:Discourse Dynamic Sidebar Icon
- サイドバーセクションの順序を変更:
- 追加のサイドバーセクション:
- 選択されたグループにのみ表示されるカスタムセクション:Discourse Group Sidebar Menus
- グループ受信トレイへの直接リンクを表示するための個人メッセージセクション:サイドバー用のメッセージセクション
- 訪問者やスタッフなど、異なるユーザーグループに対して特定のセクションを表示または非表示にするコンポーネント:
- ナビゲーション(サイドバー)メニュー表示制御
- サブカテゴリをインデントするコンポーネント:
- Discourse Indented Subcategories
- GitHub: discourse-sidebar-nested-categories
高度な機能を実装する際は、ユーザーがサイドバーをカスタマイズできることを忘れないでください。ユーザーの選択が異なる場合に、カスタマイズがどのように表示されるかテストしてください。例えば、ユーザーが親カテゴリではなくサブカテゴリを追加した場合のネストされたカテゴリの表示など。
関連リソース
- Creating quick access links to Discourse preference pages
- Customize text in Discourse
- Find a translation key with verbose localization




