メインロゴのURLを変更できますか?

例えば、ロゴを forum.example.com ではなく forum.example.com/latest にリンクさせたい場合、どのようにすればよいでしょうか?これは開発者の手を借りずに簡単に変更できることでしょうか?私のフォーラムは Discourse でホストされていますが、それが何か影響するでしょうか。

そのようにしたい理由は、ユーザーがフォーラムにアクセスした際のデフォルトページを「カテゴリ」ページにしたいからです。そうすれば、フォーラムがより親しみやすくなります。しかし、ロゴをクリックした後は「最新」ページに移動させたいと考えています。

テーマで以下のようにすると動作するはずです。

<script type="text/discourse-plugin" version="0.4">
    api.changeWidgetSetting('home-logo', 'href', '/latest')
</script>
「いいね!」 3

ありがとうございます!初心者なので、どこに貼り付ければよいか具体的に教えていただけますか?CSS を入れる場所ではないと思いますか?

CSS のすぐ右側に HEAD セクションに入ります。詳しくは Developing Discourse Themes & Theme Components をご覧ください。

「いいね!」 4

お久しぶりです。これを新しいタブで開くにはどうすればよいですか?それとも、target="_blank" はここで使用できますか?

これは、ここにある home-logo ウィジェットで防止されているため、もう少しカスタマイズが必要です。

そのため、changeWidgetSetting を使用して URL を設定し、次に reopenWidget を使用して _blank を追加し、新しいウィンドウで開くのを防ぐデフォルトのクリック動作をオーバーライドする必要があります。

<script type="text/discourse-plugin" version="0.8">
  const { h } = require("virtual-dom");

  api.changeWidgetSetting('home-logo', 'href', 'https://discourse.org');

  api.reopenWidget("home-logo", {
     html() {
       return h(
         "a",
         { attributes: { href: this.href(), "data-auto-route": true, "target": "_blank" } },
         this.logo()
       );
     },

     click(e) {
       return;
     },
   });
</script>
「いいね!」 4

素晴らしい説明をありがとうございます。ヘッダーにアイコンリンクを追加し、ロゴを移動させたい場所へのURLと別のタブへのリンクを設定することで、求めていた回避策を見つけました。これにより、ユーザーは最終的に(ヘッダーの外部ホームサイトへのリンク)を望んでいたものを得ることができました。個人的には、ロゴをフォーラムのホームリンクとして使用するのが好きなので、この方法を好んでいます。

「いいね!」 2