rodypl
(Rodolphe)
1
例えば、ロゴを forum.example.com ではなく forum.example.com/latest にリンクさせたい場合、どのようにすればよいでしょうか?これは開発者の手を借りずに簡単に変更できることでしょうか?私のフォーラムは Discourse でホストされていますが、それが何か影響するでしょうか。
そのようにしたい理由は、ユーザーがフォーラムにアクセスした際のデフォルトページを「カテゴリ」ページにしたいからです。そうすれば、フォーラムがより親しみやすくなります。しかし、ロゴをクリックした後は「最新」ページに移動させたいと考えています。
Falco
(Falco)
2
テーマで以下のようにすると動作するはずです。
<script type="text/discourse-plugin" version="0.4">
api.changeWidgetSetting('home-logo', 'href', '/latest')
</script>
「いいね!」 3
rodypl
(Rodolphe)
3
ありがとうございます!初心者なので、どこに貼り付ければよいか具体的に教えていただけますか?CSS を入れる場所ではないと思いますか?
Falco
(Falco)
4
「いいね!」 4
Lilly
5
お久しぶりです。これを新しいタブで開くにはどうすればよいですか?それとも、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
Lilly
7
素晴らしい説明をありがとうございます。ヘッダーにアイコンリンクを追加し、ロゴを移動させたい場所へのURLと別のタブへのリンクを設定することで、求めていた回避策を見つけました。これにより、ユーザーは最終的に(ヘッダーの外部ホームサイトへのリンク)を望んでいたものを得ることができました。個人的には、ロゴをフォーラムのホームリンクとして使用するのが好きなので、この方法を好んでいます。
「いいね!」 2