サポートチームの皆様、
登録時にユーザーが入力した電話番号を検証したいと考えております。そのため、登録画面にいくつかのユーザーフィールドを追加し、ユーザーに電話番号を入力するようにしました。また、テーマの JS セクションにコードを追加し、ユーザーに OTP を送信できるようにしています。
しかし、プロフィールから電話番号を取得して SMS を送信する最適な方法がわかりません。
私が試した方法は以下の通りです:
登録後にウィザードを使用する。これは自動的に実行されます。
- ウィザードが開いた際に、プロフィールの電話番号が必要です。(ウィザードは u{username} のような既定の属性を取得できるようですが、カスタムフィールドである u{phone} は取得できないようです)
- 番号を取得したら(ユーザーにもう一度フィールドに入力させることは可能ですが)、テーマの JS セクションに入れた JS コードをどのように呼び出すべきでしょうか。
通常のページが読み込まれた際には、以下のコードが機能することを確認しました:
<script type='text/discourse-plugin' version='0.8.19'>
api.onPageChange((url) => {
しかし、ウィザードが読み込まれた際には、このコードは機能しません。
document モデルを使用しようとも試みました:
if ('Discourse' in window) {
if ('Discourse' in window && typeof Discourse._registerPluginCode === 'function') {
Discourse._registerPluginCode
しかし、プラグインの登録は失敗します。
そのため、このアプローチが正しいのか、あるいは電話番号を取得して SMS 送信用のカスタム JS コードを実行するより簡単な方法があるのか確信が持てません。
よろしくお願いいたします。
Prashanth