グループページのカスタム HTML

皆さん、こんにちは

コミュニティを設計しています。すべてのユーザーがグループに参加するには許可が必要で、各グループがカテゴリへのアクセスを制御する仕組みにしています。

グループのページ(https://community.horbitercafe.com/g)に、歓迎メッセージや説明用の HTML を追加したいと考えています。

最も簡単な方法はありますか?

ありがとう

F.

これが正しいプラグインの場所かどうかはわかりませんが、お試しください。

「カスタマイズ」> < /head>

以下を追加します

<script type="text/x-handlebars" data-template-name="/connectors/before-group-container/plugin-outlet-component">

ここに HTML を入力

</script>
「いいね!」 1

/g ページのみに制限するにはどうすればよいですか?

はい、確かに HTML を https://discourse.example.org/g/foo などのページのグループ名やその他の情報の上に「注入」できます。共有ありがとうございます。

@Fausto_Dassenno さんは、個別のグループ詳細ページではなく、メインのグループ一覧ページに関するものをお探しかしら?

その通りです。メインのグループ一覧ページにのみ HTML を追加したいと考えています。

HTML コードに gr-horbiter というクラスを追加してください

<script type="text/x-handlebars" data-template-name="/connectors/before-group-container/plugin-outlet-component">

<div class="gr-horbiter">
あなたの HTML コード
</div>

</script>

そして、common にこの CSS を追加します

.gr-horbiter {
    display: none;
}

body.groups-page .gr-horbiter {
    display: block;
}

コードはテストしていませんが、動作するはずです

「いいね!」 1

@Steven ありがとうございます。スクリプト部分はコンポーネントの HTML セクションに入れるのでしょうか?それとも HTML を直接編集する必要がありますか?

申し訳ありませんが、質問の意味が完全に理解できませんでした。英語は私の母語ではないため、いくつかの点を誤解している可能性があります。

スクリプトと HTML を <head> セクションにコピーし、必要に応じてカスタマイズするために div や span を追加して、ウェルカムメッセージを追加すれば、問題なく動作するはずです。

「いいね!」 1

@Steven さん、ありがとうございます。動作確認できました。
唯一の問題点は、グループ詳細ページではなく、グループ一覧ページに追加する必要があることです。
少なくとも、その背後にあるロジックは理解できました。さらに調査します。
グループ一覧ページには、コネクタが見つかりません。

テストすべきでした。今、問題がわかりました :man_facepalming:
プラグインの outlet がグループのメインページでは機能しません。

バナーを追加する方法はまだありますが、おそらく最善の方法ではないでしょう。Discourse のスタッフの方がより良い方法を知っているかもしれません。

この CSS コードを使えば、テキストを追加してスタイルを設定できますが、このクラスしか使えず、テキストバナーにリンクを追加する方法はないと思います。

body.groups-page .groups-header::before {
    content: "Your text";
    width: 100%;
    margin: 0 0 15px 0;
}

このクラスに背景や境界線などを追加して、バナーをカスタマイズし、バナーを作成できます。

「いいね!」 2

ありがとうございます。
これでは目的を達成できません。私がしようとしていたのは、新しいユーザーが希望するグループへのアクセスをリクエストできるように、グループ向けのランディングページを作成することでした。そのために、いくつかの HTML を使って説明を加えたいと考えていました。

グループのインデックスページで新しいグループ名をリクエストするのは難しいでしょうか?

これくらいのものなら簡単にできます

.welcome-message {
    display:none;
}
.groups-page .welcome-message {
    display:block;
    margin: 20px;
}

次に、これを「ヘッダー後」セクションに追加します

<div class="welcome-message">ここに歓迎メッセージと指示を入力してください</div>

「いいね!」 3

うん、それは間違いなく最善の解決策だね

僕、時々余計なことを考えすぎちゃうんだ :man_facepalming:

「いいね!」 3

素晴らしい、これで動きます!
同じことをしたいのですが、ホーム画面でのみ表示させたい場合はどうすればよいでしょうか。.groups-page を何に置き換えればよいですか?

HTML ホームページの body で使用されているクラスを確認してください。

例えば、meta.discourse.org では次のようになっています:
<body class="navigation-topics" data-gr-c-s-loaded="true" style="" cz-shortcut-listen="true">

ここで使用されているクラスは navigation-topics です。

「いいね!」 1

または、より凝ったものをお探しなら、こちらをご覧ください

興味深いですね。私のホームページにはこれが表示されています

image

ホームページのページはどこですか?

image
これがお尋ねのことでしょうか?

空の body クラスの問題の原因がわかりました。
ページソースを見る代わりに、F12 キーを押して Chrome/Firefox/Edge の開発者ツールを表示し、「要素」タブに移動してください。
ここから HTML コードを確認すると、正しいクラスが <body> に表示されているはずです。