こんにちは。
サインアッププロセスまたは招待の承諾(トピックへの移動が設定されていなくても)を通じて初めてサインアップした人が、指定されたカテゴリに移動し、投稿コンポーザーが自動的に開くようにする方法はありますか?
これにより、新規ユーザーが自己紹介の投稿をする際の摩擦が減り、コミュニティのエンゲージメントが高まります。
これを達成するにはどうすればよいでしょうか?すでに複数の招待リンクを作成しており、それらすべてを「トピックへの移動」設定に変更するのは現実的ではありません(また、その設定では投稿コンポーザーも開きません)。
どうぞよろしくお願いいたします!
Discourse には、すべての初回ユーザー(サインアップまたは招待経由)を特定のカテゴリに自動的に送信し、コンポーザーを自動的に開く組み込みの方法はありません。
回避策:
- 次の場所にコンポーザーリンクを含めることで、ユーザーを自己紹介エリアに誘導できます。
- Discobot のウェルカムメッセージ
- グローバルバナー
Creating a link to start a new topic with pre-filled information を参照してください。
または:
- カスタムウィザードプラグインを使用すると、オンボーディングウィザードを完了したときに新しいユーザーを指定されたカテゴリのコンポーザーにリダイレクトするように設定することで、これを実現できます。
テーマコンポーネントで、以下を上書きすることが可能か疑問に思います。
ユーザーをリダイレクトするために。しかし、コンポーザーを自動的に開くのは難しいかもしれません。
Ethsim2
(Ethan )
5
コンポーザー自体を開くのは難しいことではありません。Discourse はすでにそれに対する一流のエントリーポイントを公開しています。
クエリパラメータを使用して、ユーザーを /new-topic エンドポイントにリダイレクトできます。例:
https://discourse.com/new-topic?
title=Shared%20from%20iOS
&category_id=19
&body=https%3A%2F%2Fexample.com
これにより、単純なクエリパラメータ(post[...] ではない)を使用して、フィールドがあらかじめ入力された(タイトル、カテゴリ、本文)新しいトピックコンポーザーが開きます。
したがって、フローは次のようになります。
- サインアップ後/招待承諾後にリダイレクト
/new-topic?... に到達
- 目的のカテゴリとコンテンツでコンポーザーが即座に開く
これは、iOS共有やその他の統合で使用されているのと同じメカニズムであるため、すでにサポートされており安定しています。
残りの質問は、コンポーザー自体を自動的に開くことができるかどうかではなく、リダイレクトをどこにフックするのが最適か(招待承諾時か初回ログイン時か)ということです。
承知していますが、OPがトピック作成者ではなく返信作成者を開きたかった可能性を排除していません。そのため、それを開くメソッドを持っていると思われるコンポーザーサービスを提案しました。
もし
が可能であれば、ローカルストレージのアイテムがコンポーザーの開くことをシグナルとして送れるかもしれません。うーん…
「いいね!」 1
Ethsim2
(Ethan )
7
はい、これはテーマコンポーネントとしてきれいに実装できます。
例えば、以下をご覧ください。
アプローチは次のとおりです。
- 有効化/招待承諾後にリダイレクトする
- 一度限りのシグナルを設定する(例:
localStorage経由で)
- テーマコンポーネント内のJS api-initializerがシグナルを読み取る
- コンポーザーサービス経由でコンポーザーを開く
- フラグをクリアして一度だけ実行されるようにする
これにより、コアテンプレートの上書きを避け、ソリューションをアップグレードセーフでフロントエンド専用に保つことができます。