pfaffman
(Jay Pfaffman)
1
概要
このテーマコンポーネントをインストールし、アクティブなテーマに追加すると、デフォルトで Discourse が許可しているページセットとは異なる「ホームページ」を制御できるようになります。また、異なるグループごとに異なる「ホームページ」を設定することも可能です(例:グループのメンバーは特定のカテゴリのみ、または主に気にしているなど)。これは、すべてのユーザー、匿名(ログインしていない)ユーザー、モバイルユーザー、またはユーザーのプライマリグループに応じて設定できます。当初は @pfaffman によって開発されました。詳細は User-specific Discourse home page を参照してください。
使用例:
- 「通常の」ホームページ以外のページをホームページにしたい
- 匿名ユーザー用に異なるホームページを設定したい
- モバイルユーザー用に異なるホームページを設定したい
- インスタンスの一部のみを利用することに興味があるグループがいる。彼らは自分の特定のカテゴリのみを表示したい。
- 一時的に、特定のグループのユーザーを特別なイベントなどのページにリダイレクトしたい。
- グループごとに異なるランディングページを設定したい。
設定
カスタムデフォルトホームページ
グローバルなカスタムホームページを設定できます。
匿名ページ
ログインしていないユーザーに対して指定されたページを表示できるようにします。上記のグローバル設定を上書きします。
モバイルホームページ
Force Mobile Homepage に記載されている通り、モバイルユーザー用に異なるホームページを設定できます。これは上記で選択したオプションを上書きします。
グループページマップ
複数のエントリを設定できます。各エントリは group_name:path の形式である必要があります。ここで group_name はグループのスラッグ(グループの「フルネーム」ではありません)、path は希望するホームページ(例:/c/great-category/4)です。
対象ユーザーが指定されたグループをプライマリグループとして設定していることを確認してください。これで完了です。テーマ設定またはユーザーのプライマリグループが変更された場合は、変更を反映させるために再読み込みが必要です。
プライマリとして指定されたグループを持つユーザーは、そのようにするための方法(ネイティブのサイドバー機能など)を確保しない限り、通常のホームページにアクセスできなくなります。
既知の問題 - 相対 URL に限定
残念ながら、Page Publishing も含まれません。ただし、外部サイトへリダイレクトするパーマリンクを作成し、そのパーマリンクを指すことで回避できます。
- @pfaffman は
/go-google におけるパーマリンクを https://google.com にリダイレクトし、group-name:/go-google のような設定でこれをテストしました
- パーマリンクは管理設定
/admin/customize/permalinks から作成できます
「いいね!」 42
nathank
(Nathan Kershaw)
3
PRステージでいくつかの調整を行い、これらに対処します。
また、モバイルホームページを別にしたい場合の制御も追加します(Force Mobile Homepage にて)。
これにより、その機能が大幅に向上しますので、気に入っていただけると幸いです。
「いいね!」 6
こんにちは!素晴らしいですね!
本当にありがとうございます。これは私のケース(ユースケース1)にとって非常に重要です。
「プライマリとして指定されたグループを持つユーザーは、通常のホームページにアクセスできなくなります」について、「ユーザーがアクセスできるように積極的に方法を提供する」とはどういう意味ですか?
また、このコンセプトに沿って、ユーザーが属するグループに応じてホームページにカテゴリを特定の順序で表示することも役立ちます。たとえば、自分のカテゴリを一番上に表示し、残りをその下に表示するなどです。これは可能だと思いますか?(すでに可能でない場合?)
pfaffman
(Jay Pfaffman)
5
サイト設定で設定したホームページは上書きされるということです。したがって、ユーザーがそこにアクセスできるようにしたい場合は、そこへのリンクがあることを確認する必要があります…何らかの方法で。
それがどのように機能するか想像できません(私の想像力が悪いのかもしれません
)。私が考えられるユースケースでは、ユーザーがグループに属している場合に、異なるカテゴリをホームページとして設定します。たとえば、自動車サイトでは、ホームページとしてフォードグループを選択できるようなものです。
異なるグループに対して異なるものが利用できるようにしたい場合は、デフォルトでミュートされるカテゴリを設定することで実現できると思います。
「いいね!」 1
こんにちは、ジェイ!
お返事ありがとうございます 
たとえば、ユーザーが所属するグループに応じて、さまざまなカテゴリをトップに「ピン留め」したいとします。つまり、ユーザーごとに表示される「ピン留め」カテゴリが異なります。他のカテゴリをユーザーから隠したいわけではなく、最もよく使用するカテゴリをホームページから(可能であれば!)簡単に見えるように、すぐに利用できるようにしたいのです。
(もちろん、これは「要求」しているわけではなく、利用可能な設定/コンポーネントで可能かどうかを尋ねているだけです)
「いいね!」 1
jrgong
(jrgong)
7
@lisandro_iaffar さん
まさに同じようなユースケースがあり、ここで投稿しました:Showcased Categories - #18 by jrgong
私の場合は、このTCを使用して広告主のクライアントカテゴリをホームページとして設定しましたが、クライアントは混乱しただけで、再度削除するように依頼されました。したがって、このような変更が加えられたショーケースカテゴリTCが完璧なソリューションになると思います。
「いいね!」 3
jrgongさん、こんにちは! 
そのトピックを教えていただき、本当にありがとうございます!はい!それはまさに完璧だと思います!そのアイデアを支持するために移動します 
重ねて感謝いたします!
pfaffman
(Jay Pfaffman)
9
preLoadStore の不具合を修正するアップデートを提出しました。この不具合により、初回読み込み時にトピックが誤って表示されていました。
「いいね!」 5
nathank
(Nathan Kershaw)
10
ジェイさん、前回のDiscourseアップデート後にエラーが発生していることに気づきました。
「いいね!」 1
pfaffman
(Jay Pfaffman)
11
それがgithubの最新バージョンであることを確認しましたか?(あなたのフォークや静的/ローカルバージョンではありませんか?)アップグレードを実行したところ、正常に動作しました。コードを見ると、apiが使用されているのは1か所だけです。
const user = api.getCurrentUser();
そして、それはapiを定義するブロックの中にあります。
nathank
(Nathan Kershaw)
12
それは奇妙ですね。いずれにせよ、余分だったのでそのインスタンスから削除しました。別のインスタンスで更新した後は正常に動作しているようです。奇妙ですね。確認していただきありがとうございます!
サイドバーとの相互作用について何か考えはありますか?フォーラムのホームに戻るルートが必要だった問題がこれで解決されたように見えるので、試してみる必要があります。
「いいね!」 1
pfaffman
(Jay Pfaffman)
13
テストしていませんが、なぜそうならないのか想像できません。私の想像力はあまり良くないかもしれないことに注意してください。
「いいね!」 1
bartv
(Bart )
14
現在これをテストしていますが、2つのコメントがあります。
- アノンパスは機能していません。グループマップと同じ形式が必要ですか?
- すべてのユーザーに適用されるデフォルト設定があると素晴らしいのですが。
「いいね!」 1
pfaffman
(Jay Pfaffman)
15
うーん。リストコミットでテストしたと思ったのですが。
確かに。必要としていた人々は、サポートされていないホームページに変更する必要がなかったのだと思います。
明日見てみますが、来週になるかもしれません。
「いいね!」 1
参考までに、昨日いじっていたときは(tag/featured/ が入っていました)うまくいきました。
nathank
(Nathan Kershaw)
17
私には正常に機能しています。相対パスのみが必要です。
しかし、テーマにコンポーネントを追加するまで、あなたと同じ問題を抱えていました。追加しましたか?
はい、追加が必要だと考えました。こちらです:
「いいね!」 2
bartv
(Bart )
18
はい、ログインしているときは同じテーマで問題なく動作しますが、匿名では動作しません。念のため確認ですが、相対URLは / で始まる必要がありますか? Jammy は tag/featured/ を使用し、私は /c/artwork/8 を使用しているためです。
これを機能させることができました。私の間違いでした。
完璧、ありがとうございます!まだアップデートとして表示されていませんが、表示されるはずですか?
「いいね!」 1
nathank
(Nathan Kershaw)
19
私のフォークに入っています。ジェイがマージするまで、ここから直接インストールすることもできます。
/があってもなくても動作します。
BTW
設定方法では、ユーザーは信頼レベルグループをプライマリグループにできないため、機能しません。
それについて考えているのですが、サイトのデフォルトテーマ(匿名ユーザーが使用するもの)に追加されていますか?「dev」テーマにコンポーネントを追加しましたが、デフォルトテーマには追加しなかったため、つまずきました。
「いいね!」 2
bartv
(Bart )
20
はい、間違いを見つけました。それに関連していました 
「いいね!」 2