グループ向けカスタムホームページ

Overview

When installed and added to the active theme, this theme component enables you to control the ‘homepage’, allowing it to be different from the set of pages Discourse allows by default, as well as having different groups have different “homepages” (e.g., group members care only or mostly about a particular category). This can be for all users, anon (non-logged in), mobile users, or according to a user’s primary group. Initially developed by @pfaffman. See User-specific Discourse home page.

Use-cases:

  1. You want something other than the ‘normal’ homepage
  2. You want a different homepage for Anonymous users
  3. You want a different homepage for Mobile users
  4. You have a group of folk only interested in using a small slice of your instance. They want to only see their specific category.
  5. Temporarily redirect a group of your punters to a special event or the like.
  6. Have different landing pages for different groups.

Settings

custom default homepage

Allows you to set a global custom homepage.

anon page

This enables you to use a specified page for those who aren’t logged into your site. Over-rides the global one above.

mobile homepage

As per Force Mobile Homepage this allows you to set a different homepage for mobile users. This will override the options chosen above.

group page map

This allows for multiple entries. Each entry should be of the format group_name:path , where group_name is the group slug (not the group Full Name ) and the path is the desired home page (e.g., “/c/great-category/4”).

Ensure that the target users have the specified group denoted as their primary group and you are away. If the theme setting or the user primary group is changed, a reload will be required to have the change take effect.

:warning: The users with a specified group as primary will not be able to reach your ‘normal’ homepage unless you ensure that there is a way for them to do that (such as the native sidebar functionality)

Known Issue - limited to relative URLs

And that doesn’t include Page Publishing, unfortunately. However, you can workaround this by creating a permalink that will redirect to the external site and point to that permalink.

  • @pfaffman tested this with a permalink at /go-google that redirects to https://google.com and something like group-name:/go-google
  • you create Permalinks via the admin settings /admin/customize/permalinks
「いいね!」 42

これはゲーム グループチェンジャーです! :crazy_face:

よくやった!かなり強力なTCだ…

PRステージでいくつかの調整を行い、これらに対処します。

また、モバイルホームページを別にしたい場合の制御も追加します(Force Mobile Homepage にて)。

これにより、その機能が大幅に向上しますので、気に入っていただけると幸いです。

「いいね!」 6

こんにちは!素晴らしいですね!:slight_smile:
本当にありがとうございます。これは私のケース(ユースケース1)にとって非常に重要です。
プライマリとして指定されたグループを持つユーザーは、通常のホームページにアクセスできなくなります」について、「ユーザーがアクセスできるように積極的に方法を提供する」とはどういう意味ですか?
また、このコンセプトに沿って、ユーザーが属するグループに応じてホームページにカテゴリを特定の順序で表示することも役立ちます。たとえば、自分のカテゴリを一番上に表示し、残りをその下に表示するなどです。これは可能だと思いますか?(すでに可能でない場合?)

サイト設定で設定したホームページは上書きされるということです。したがって、ユーザーがそこにアクセスできるようにしたい場合は、そこへのリンクがあることを確認する必要があります…何らかの方法で。

それがどのように機能するか想像できません(私の想像力が悪いのかもしれません :man_shrugging:)。私が考えられるユースケースでは、ユーザーがグループに属している場合に、異なるカテゴリをホームページとして設定します。たとえば、自動車サイトでは、ホームページとしてフォードグループを選択できるようなものです。

異なるグループに対して異なるものが利用できるようにしたい場合は、デフォルトでミュートされるカテゴリを設定することで実現できると思います。

「いいね!」 1

こんにちは、ジェイ!
お返事ありがとうございます :slight_smile:
たとえば、ユーザーが所属するグループに応じて、さまざまなカテゴリをトップに「ピン留め」したいとします。つまり、ユーザーごとに表示される「ピン留め」カテゴリが異なります。他のカテゴリをユーザーから隠したいわけではなく、最もよく使用するカテゴリをホームページから(可能であれば!)簡単に見えるように、すぐに利用できるようにしたいのです。
(もちろん、これは「要求」しているわけではなく、利用可能な設定/コンポーネントで可能かどうかを尋ねているだけです)

「いいね!」 1

@lisandro_iaffar さん

まさに同じようなユースケースがあり、ここで投稿しました:Showcased Categories - #18 by jrgong

私の場合は、このTCを使用して広告主のクライアントカテゴリをホームページとして設定しましたが、クライアントは混乱しただけで、再度削除するように依頼されました。したがって、このような変更が加えられたショーケースカテゴリTCが完璧なソリューションになると思います。

「いいね!」 3

jrgongさん、こんにちは! :slight_smile:
そのトピックを教えていただき、本当にありがとうございます!はい!それはまさに完璧だと思います!そのアイデアを支持するために移動します :muscle:
重ねて感謝いたします!

preLoadStore の不具合を修正するアップデートを提出しました。この不具合により、初回読み込み時にトピックが誤って表示されていました。

「いいね!」 5

ジェイさん、前回のDiscourseアップデート後にエラーが発生していることに気づきました。

「いいね!」 1

それがgithubの最新バージョンであることを確認しましたか?(あなたのフォークや静的/ローカルバージョンではありませんか?)アップグレードを実行したところ、正常に動作しました。コードを見ると、apiが使用されているのは1か所だけです。

const user = api.getCurrentUser();

そして、それはapiを定義するブロックの中にあります。

それは奇妙ですね。いずれにせよ、余分だったのでそのインスタンスから削除しました。別のインスタンスで更新した後は正常に動作しているようです。奇妙ですね。確認していただきありがとうございます!

サイドバーとの相互作用について何か考えはありますか?フォーラムのホームに戻るルートが必要だった問題がこれで解決されたように見えるので、試してみる必要があります。

「いいね!」 1

テストしていませんが、なぜそうならないのか想像できません。私の想像力はあまり良くないかもしれないことに注意してください。

「いいね!」 1

現在これをテストしていますが、2つのコメントがあります。

  1. アノンパスは機能していません。グループマップと同じ形式が必要ですか?
  2. すべてのユーザーに適用されるデフォルト設定があると素晴らしいのですが。

「いいね!」 1

うーん。リストコミットでテストしたと思ったのですが。

確かに。必要としていた人々は、サポートされていないホームページに変更する必要がなかったのだと思います。

明日見てみますが、来週になるかもしれません。

「いいね!」 1

参考までに、昨日いじっていたときは(tag/featured/ が入っていました)うまくいきました。

私には正常に機能しています。相対パスのみが必要です。

しかし、テーマにコンポーネントを追加するまで、あなたと同じ問題を抱えていました。追加しましたか?

はい、追加が必要だと考えました。こちらです:

「いいね!」 2

はい、ログインしているときは同じテーマで問題なく動作しますが、匿名では動作しません。念のため確認ですが、相対URLは / で始まる必要がありますか? Jammy は tag/featured/ を使用し、私は /c/artwork/8 を使用しているためです。

これを機能させることができました。私の間違いでした。

完璧、ありがとうございます!まだアップデートとして表示されていませんが、表示されるはずですか?

「いいね!」 1

私のフォークに入っています。ジェイがマージするまで、ここから直接インストールすることもできます。

/があってもなくても動作します。

BTW

設定方法では、ユーザーは信頼レベルグループをプライマリグループにできないため、機能しません。

それについて考えているのですが、サイトのデフォルトテーマ(匿名ユーザーが使用するもの)に追加されていますか?「dev」テーマにコンポーネントを追加しましたが、デフォルトテーマには追加しなかったため、つまずきました。

「いいね!」 2

はい、間違いを見つけました。それに関連していました :man_facepalming:

「いいね!」 2