ユーザーのデフォルトサイドバーを設定する

サイドバーは、Discourse サイトの重要なセクションへのクイックアクセスを提供します。ユーザーは自身の好みに合わせてサイドバーをカスタマイズできますが、デフォルト設定を適切に用意しておくことで、特に新規ユーザーや訪問者がナビゲーションを容易に行えるようになります。

このガイドでは、既存のセクションのカスタマイズ方法と、サイドバーに追加のセクションを作成する方法を説明します。また、サイドバーに関連するユーザー設定のデフォルト値を調整できる設定についても解説します。

各セクションのデフォルトコンテンツのカスタマイズ

コミュニティセクション

サイドバーの最上部(見出しが表示されていない部分)は「コミュニティ」セクションと呼ばれます。このセクションはすべてのユーザーに表示され、必須のナビゲーションリンクが含まれています。

このセクションをカスタマイズするには:

  1. サイドバーでMore(もっと見る)をクリック
  2. 拡張メニューの下部にあるCustomize this section(このセクションをカスタマイズ)を選択

以下の変更を行うことができます:

  • アイコンをドラッグしてリンクの順序を変更
  • 各エントリのアイコン、名前、リンクを編集
  • セクションに新しいエントリを追加

デフォルトリンクの理解

一部のデフォルトリンクには特殊な動作があります:

  • My posts(私の投稿) - デフォルトでは常に「My posts」と表示されます。ただし:
    • ユーザーに下書きが1つ以上ある場合、このリンクをクリックすると投稿活動ではなく下書きページに移動します。
    • experimental_new_new_groups サイト設定で選択されたグループに所属しているユーザーの場合、下書きが存在するときにリンクテキストも「My drafts」(私の下書き)に変更されます。
  • My messages(私のメッセージ) - personal_message_enabled_groups にいるユーザーのみに表示されます。
    • 個人用受信トレイと、所属しているグループの受信トレイの未読インジケーターまたは未読メッセージ数を示します。
    • 常に個人用受信トレイに移動します - グループ受信トレイにのみ未読メッセージがある場合でも。
  • Review(レビュー) - スタッフとカテゴリモデレーターのみに表示されます。
  • Admin(管理者) - 管理者とモデレーターのみに表示されます。
  • Invite(招待) - 他のユーザーを招待できる権限を持つユーザーのみに表示されます。

翻訳の扱い

デフォルトリンクは、ユーザーが選択したインターフェース言語で自動的に表示されます。ただし:

  • デフォルトリンクのテキストをカスタマイズすると、すべての言語で上書きされます
  • 特定の言語や「My drafts」などの非表示要素のテキストを編集するには、Discourseのテキストカスタマイズガイドの指示に従ってください。

プラグインで追加されたリンクの処理

プラグインで追加されたリンクは、現在サイドバーエディタではカスタマイズできません。ただし、以下のアプローチを使用して、独自バージョンに置き換えることができます:

  1. 元のプラグインで追加されたリンクを非表示にする
  2. 望みの動作と外観を持つカスタムリンクを追加

一部のリンクはプラグインの設定で非表示にできます。例えば、sidebar_show_upcoming_events 設定を無効にすることで、今後のイベントリンクを非表示にできます。
そのような設定がない場合、カスタムCSSを使用してリンクを非表示にできます。

プラグインリンクの非表示または移動に関するCSS例

プラグインで追加されたリンクを完全に非表示にする
この例は、ActivityPubプラグインで追加されたリンクを非表示にします:

.sidebar-section-link-wrapper[data-list-item-name="activity-pub-about"] {
         display: none;
      }

「More」メニューからのみリンクを非表示にする
リンクを「More」メニューから常に表示されるように移動する場合に便利です:

.sidebar-more-section-content
  .sidebar-section-link-wrapper.dropdown-menu__item[data-list-item-name="anniversaries"] {
  display: none;
}

メインセクションからのみリンクを非表示にする(「More」メニュー内では非表示にしない)
リンクを常に表示する代わりに「More」メニューに表示させたい場合に便利です:

.sidebar-section.sidebar-section-wrapper:not(.sidebar-more-section-content)
  .sidebar-section-link-wrapper[data-list-item-name="docs"] {
  display: none;
}

:information_source: サイトへのCSS変更の詳細については、CSS変更に関するガイドを参照してください。

カテゴリセクション

default_navigation_menu_categories サイト設定で、ユーザーのサイドバーにデフォルトで表示されるカテゴリを設定できます。アクセス方法は:

  1. カテゴリセクションの下部にある„Configure defaults“(デフォルトを設定)をクリック(デフォルトが設定されていない場合にのみ表示されます)
  2. Admin > All site settings(管理者 > すべてのサイト設定)からこの設定にアクセスし、設定を検索

カテゴリの可視性はユーザー権限を尊重します - 制限付きカテゴリをデフォルトに含めていても、ユーザーはアクセス権限を持つカテゴリのみをサイドバーに表示します。制限付きカテゴリのみをデフォルトとして設定した場合:

  • 訪問者は空のリストを表示します
  • ログイン済みユーザーは最も人気のあるカテゴリを表示します(すべてのカテゴリを未選択した場合と同じ)

:warning: 「Categories」横の メニューにある「edit sidebar categories」オプションは、すべてのユーザーのデフォルトではなく、あなた自身のビューのみをカスタマイズします。

タグセクション

default_navigation_menu_tags サイト設定で、ユーザーのサイドバーにデフォルトで表示されるタグを設定できます。アクセス方法は:

  1. タグセクションの下部にある"Configure defaults"(デフォルトを設定)をクリック(デフォルトが設定されていない場合にのみ表示されます)
  2. Admin > All site settings(管理者 > すべてのサイト設定)からこの設定にアクセスし、設定を検索

タグの可視性はユーザー権限を尊重します - 非表示タググループ内のタグは、デフォルトに含まれていてもユーザーのサイドバーには表示されません。制限付きタグのみをデフォルトとして設定した場合:

  • すべてのユーザー(訪問者を含む)は最も人気のあるタグを表示します(すべてのタグを未選択した場合と同じ)

:warning: 「Tags」横の鉛筆アイコンは、すべてのユーザーのデフォルトではなく、あなた自身のビューのみをカスタマイズします。

チャットセクション

すべてのチャットセクションは、チャットが有効[1]、ユーザーがチャットの使用を許可されている[2]、かつユーザーが設定でチャットを無効にしていない場合にのみ利用可能です。

チャット検索セクション

チャット検索は chat_search_enabled サイト設定で制御されます。

スレッドセクション

スレッドセクションは、スレッド機能が有効なチャットに少なくとも1つ参加しているユーザーにのみ表示されます。

チャネルセクション

チャネルセクションは、ユーザーが参加しているチャットチャネルを表示します。カテゴリ権限に基づいて参加できるチャネルが少なくとも1つある場合、ユーザーはこのセクションを表示します。セクションは、ユーザーが少なくとも1つのチャネルに参加するまで空のままです。

チャネル設定を通じてチャネル参加を自動化できます:

  1. チャネル設定で自動メンバー追加を有効にする
  2. 条件を満たす新しいユーザーは、自動的にサイドバーにチャネルを表示します

DMセクション

ダイレクトメッセージセクションは、1対1およびグループチャット会話を表示します。このセクションを表示するには、ユーザーは direct_message_enabled_groups のいずれかに属している必要があります。

このセクションのデフォルト会話を設定することはできません。ただし、空のセクションの代わりに、このセクションを置き換える「新しいDMを開始」ボタンが表示されます。

カスタムセクションの追加

カスタムリンクを含む追加のセクションをサイドバーに作成できます。これらは最初のセクションの下、カテゴリセクションの上に配置されます。新しいセクションを追加するには:

  1. サイドバーの下部にある + ボタンをクリック
  2. セクションのタイトルを入力
  3. 追加したい各リンクについて:
    • アイコンを選択
    • リンクの名前を入力
    • 宛先URLを指定
    • さらにリンクを追加するには「Add another link」をクリック
  4. すべてのユーザーに表示するには「Visible to everyone」をチェック
  5. セクションを作成するには「Save」をクリック

カスタムセクションの見出し横の小さな アイコンは、管理者のみに表示され、セクションが全員に可視であることを示します。

テキストラベルのカスタマイズ

セクション見出しを含む、サイドバー内のすべてのテキストラベルをカスタマイズできます:

  1. Admin > Appearance > Site texts(管理者 > 外観 > サイトテキスト)に移動
  2. カスタマイズしたいテキストを検索

多くのサイドバーラベルが一般的な単語を使用しているため、特定のテキストキーを見つけるのは難しい場合があります。これを支援するために:

ユーザー設定のデフォルトカスタマイズ

ユーザーは /my/preferences/navigation-menu でサイドバー設定をカスタマイズできます。以下のサイト設定を使用して、これらの設定のデフォルト値を設定できます:

default_sidebar_link_to_filtered_list

この設定は、トピックリストへのサイドバーリンク(「すべてのトピック」とカテゴリおよびタグセクション内のリンクを含む)が以下に導くかを制御します:

  • 有効化時:未読または新しいトピックのみを表示するようにフィルタリングされたリスト
  • 無効化時:すべてのトピックを含むリスト

default_sidebar_show_count_of_new_items

この設定は、サイドバーで新しいアイテムがどのように表示されるかを制御します:

chat_separate_sidebar_mode

有効化すると、チャットまたはフォーラムボタンがナビゲーションメニューに追加されます。これにより、ユーザーはフルスクリーンチャット体験とフォーラムビューをより効率的に切り替えられます。フルスクリーンチャットモードでは、サイドバーにはチャット関連のセクション(My threadsChannelsDMs など)のみが表示されます。「always」に設定すると、フォーラムを閲覧中にサイドバー内のチャット関連セクションが非表示になります。この設定は、フォーラムとチャットの体験を明確に分離するのに役立ちます。

default_sidebar_switch_panel_position サイト設定があり、トグルボタンをサイドバーの上部または下部に表示するかどうかを決定できます。ユーザーは設定で位置を変更できません。

さらにカスタマイズ

テーマコンポーネントを使用して、フォーラムのサイドバーをさらに強化できます。利用可能なオプションを探索するには、Customization > Theme component カテゴリで sidebar タグが付いたトピックを検索してください(リンク)。ただし、すべてのコンポーネントにMeta上のトピックがあるわけではありません。一部のコンポーネントは他のトピックでもリンクされています。

テーマコンポーネントはサイドバーに機能を追加できます。いくつかの例:

:information_source: 高度な機能を実装する際は、ユーザーがサイドバーをカスタマイズできることを覚えておいてください。異なるユーザー選択でカスタマイズがどのように表示されるかテストしてください。例えば、ユーザーがサブカテゴリを追加したが親カテゴリを追加していない場合、ネストされたカテゴリがどのように見えるかです。

関連リソース


  1. chat_enabled ↩︎

  2. chat_allowed_groups ↩︎

「いいね!」 14

管理ベースのサイドバーのカスタマイズに関する Documentation トピックをずっと探していました。このような質問が出てきたときに。ついに一つできました!

「いいね!」 5