ゲストゲートテーマコンポーネント

こんにちは @KhoiUSA さん :wave: ありがとうございます。アップデートをマージしました: DEV: Migrate FA5 icons to FA6 by VaperinaDEV · Pull Request #25 · VaperinaDEV/discourse-guest-gate-theme-component · GitHub :slightly_smiling_face:

「いいね!」 6

アップデートありがとうございます!

「いいね!」 3

こんにちは。新しい Discourse インスタンスにこのコンポーネントをインストールしようとしましたが、モーダルが表示されるとエラーが発生します。

リンクはこちらの投稿 this post です。

投稿が 2023 年のものであることを考えると、このコンポーネントにこの更新が必要であることは驚くべきことです。そのため、インストール方法を間違えたのではないかと疑問に思っています。

こんにちは :waving_hand: コンポーネントを削除して、これを再インストールしていただけますか? GitHub - VaperinaDEV/discourse-guest-gate-theme-component: Forced login / registration popup insired by Quora 正しいコンポーネントを使用していることを確認するために

「いいね!」 1

ありがとうございます。これで動作するようになりました!

とはいえ、モーダルのテキストを更新するのに苦労しています。タイトルは正常に更新できますが、本文を編集できないようです。間違ったフィールドを編集していますか?

適切な設定を有効にするだけでよかったようです。

「いいね!」 1

こんにちは、@Don さん。素晴らしいコンポーネントをありがとうございます。コンポーネントの意図(実際、タイトル)は、ゲスト/匿名ユーザーによってトリガーされることだと理解しています。グループまたは信頼レベルに基づいた条件の設定を追加することはできますか?特定のカテゴリのトピックを訪問したログインユーザーにモーダルを表示しようとしています。これは、Discourse-subscriptions および category-lockdown を補完するものになります。

こんにちは、@Donさん
コンポーネントありがとうございます。フォーラム https://community.escapecollective.com/ でプラグインを使用しています。しかし、問題が発生しています。max_guest_topic_views パラメータを 1 より大きい値(この場合は 3)に設定すると、モーダルウィンドウが一瞬表示された後、すぐに消えてしまいます。これは、Discourse が JS をロードする際に「ソフト」ページリフレッシュ(Ember SPA ルーティング)を実行し、その瞬間にビューカウンターがリセットされてモーダルウィンドウがすぐに消えてしまうためだと考えられます。Discourse をバージョン 3.5.0.beta9-dev にアップデートした後で発生したと思われます。この問題の解決にご協力いただけますでしょうか。

ezgif-5e4b84ca418b8a

データポイントとして、これを再現しようとしていますが、できていません。

最新版にアップデートしたところ、このテーマコンポーネントは動作しているようです。

「いいね!」 1

@merefield 返信ありがとうございます。はい、デフォルトのテーマを使用しています。ご自身で https://community.escapecollective.com/ で確認できます。問題を示す別の動画を以下に示します。

ezgif-7af28737d709fa

JavaScriptコンソールに何か表示されていますか?

@merefield 何もありません

「いいね!」 1

こんにちは :wave:

これは、Topic Cards テーマコンポーネントの問題のようです。トピックタイトルをクリックするとフルページ読み込みが強制され、ここで問題が発生します。タイトル以外の場所をクリックしてトピックを開くと、ページ再読み込みが強制されないため、ゲストゲートは通常どおり機能します。SPAの読み込みのみが発生します。

この問題を Topic Cards テーマコンポーネントのトピックに報告してください。

「いいね!」 2

こんにちは、@Donさん

はい、おっしゃる通り、Topic Cardsコンポーネントを無効にすると、すべて期待どおりに動作します。これらのコンポーネントは両方とも必要なので、Topic Cardsのスレッドに書き込みます。

ありがとうございます!

「いいね!」 1

トピックリストプレビューには、トピックカードと同様にタイル用のワイドフォーマットオプションもあります。現在GGと連携しています。トピックカードの修正をお待ちの間、そちらをお試しください。

「いいね!」 1

皆さん、こんにちは。
プラグインありがとうございます。完璧に動作しています。
一つ質問があります。タイトルを中央揃えにする設定が見当たらないのですが、これは正常なことでしょうか?

素晴らしいコンポーネント :+1:。custom_gate.little_text フィールドで改行や段落の区切りが可能かどうかを知りたくて質問しました。

ご回答よろしくお願いいたします。

「いいね!」 1

こんにちは :waving_hand:

はい、もちろんです。custom_gate.little_texthtmlSafe としてレンダリングされるため、HTMLを使用できます。例えば、改行には <br> を、段落の区切りには <p> タグを使用できます。

例えば:

一行目。<br>
二行目。

または

<p>第一段落。</p>
<p>第二段落。</p>
「いいね!」 1

こんにちは :waving_hand:

遅くなり申し訳ありません。

はい、現時点ではこのための設定はありませんが、シンプルなテーマコンポーネントで実現できます。

.d-modal.gate {
  .d-modal__title {
    margin: auto;
  }
}
「いいね!」 1

Guest Gate 2.0 がまもなく登場! :rocket:

Guest Gateの新しいバージョンが現在開発中で、これは単なるバージョンアップよりもはるかに大きな更新となります。

バージョン 2.0 では、再設計されたトリガーシステム、よりモダンな実装、大幅に増加したカスタマイズオプション、および現在のDiscourseバージョンとのより良い互換性をもたらします。

:rocket: 新しいトリガーシステム

2.0における最大の変更点は、ページビューに制限されなくなったことです。

Guest Gateのトリガー方法を次のように選択できるようになりました:

  • ページビュー - 設定可能な数のページビュー後にゲートを表示

  • 時間 - ページ上で一定の時間を過ごした後に表示

  • スクロール - 訪問者が設定可能なページパーセンテージに達した後に表示

  • ライトボックス - ゲストが画像を開いた際に表示

  • 任意 - 複数のトリガータイプでゲートをトリガー可能

これにより、より高度なゲストゲート戦略を作成することが可能になります。

:repeat_button: 新しい繰り返し動作

Guest Gateが表示された後の動作を制御できるようになりました:

  • トリガーの繰り返し - 設定されたトリガーが発生するたびに再度表示

  • ランダムなページビュー - ランダムな数のページビュー後に再度表示

  • セッションあたり1回 - ブラウザセッション中に1回だけ表示

また、ランダムなページビューの繰り返し用の新しい設定可能なしきい値もあります。

既存の**“1回だけ表示”**設定は、後方互換性のために引き続きサポートされています。

:stopwatch: 遅延表示

トリガーが発火した後、設定可能な遅延時間を設けてゲートを表示できるようになりました。

例えば、スクロール深度50%でゲートをトリガーし、モーダルを開く前にさらに750ms待機させることができます。

これにより、体験がはるかに侵襲的でないものになります。

:artist_palette: モーダルに対するより多くの制御

バージョン2.0では、いくつかの新しいカスタマイズオプションが追加されました:

  • コンパクト、標準、またはワイドなモーダル

  • モーダルタイトルの表示/非表示

  • タイトル位置の設定

  • 改善されたレスポンシブ動作

:framed_picture: カスタムゲートの改善

カスタムゲートも大幅な更新を受けました。

現在、次のことができます:

  • カスタム画像に代替(alt)テキストを追加

  • カスタムテキストコンテンツをより良く制御

  • カスタムテキストフィールドでHTMLコンテンツ(段落や改行を含む)を使用

  • 色と間隔をより良く制御

カスタムコンテンツは、新しい実装によりよりクリーンに処理されます。

:gear: 実装のモダナイゼーション

内部では、Guest Gate 2.0が大幅にモダナイズされています。

旧実装は、レガシープラグイン初期化子、Discourseページ追跡、およびjQueryベースのライトボックス処理に依存していました。

2.0では、DiscourseのモダンAPI初期化子とページ変更APIを使用し、トリガー、タイマー、スクロールリスナー、セッション状態、およびモーダル状態の管理を担当する専用ゲートコントローラーを採用しています。

これにより、今後のメンテナンスと拡張が容易になります。

:counterclockwise_arrows_button: 既存のインストールを考慮

2.0の重要な目標の一つは、既存のユーザーが手動で設定を再構築することを強要しないことです。

新しいバージョンには、古いGuest Gate設定を新しい同等の設定に変換する設定マイグレーションが含まれています。

例えば、古いmax_guest_topic_views設定は、自動的に新しいページビュー設定と繰り返し動作にマイグレートされます。

古いライトボックス設定も、自動的に新しいトリガーシステムにマッピングされます。

したがって、アップグレードにより、既存のインストールの動作を可能な限り維持できます。

:broom: よりクリーンな設定

既存の設定の数々が整理され、その説明が書き直され、管理者インターフェースをより理解しやすくしました。

ログイン/サインアップ、Discourse Connect、カスタムURL、およびボタンロジックも内部で再編成されました。


次のステップ

Guest Gate 2.0は現在、最終調整とテストが行われています。

このリリースは、将来のGuest Gate機能の堅固な基盤となることを意図しており、管理者がゲートがいつ、どこで、どのように表示されるかをより多く制御できるようにします。

Guest Gateを既に使用している場合、アップグレード時に既存の設定が自動的にマイグレートされるはずです。


:test_tube: v2.0を早期にテストしたいですか?

以下のブランチで試すことができます:GitHub v2.0 Branch

「いいね!」 6