質問

ver.2high
投稿者:たかく
登録日:2022年10月25日(火)

登録フォームブロックのステップ取得について

SPIRALで作成した登録フォームのページに遷移した直後のステップ番号が不定で取得されます(本来なら番号の"1"が取得される)。 次のステップ以降へ遷移した場合は、正常な番号が取得できます。また、ステップ2からステップ1へ戻った場合は、正常な番号"1"が取得できます。何故、ページ遷移直後のステップ番号が、不定になるのでしょうか? ご教授の程、よろしくお願いいたします。

更新日:2022年11月7日(月)
  • 8
いいね

コメント

  • SPIRERS ナレッジ向上チーム内で同じような現象を確認できなかったため、詳細をお伺いさせてください。 ステップ番号とは、URLパラメータに付与されている値と、getStepメソッドで取得した値のどちらを指していますでしょうか。 また、ステップ番号が不定で取得されるとのことですが、具体的にはどのような値が確認されたか教えていただけますでしょうか。 ▼URLパラメータに付与されている値 …XXXX?_ifbs-newInsertFormX=s1_Step1 ▼getStepメソッドで取得した値 ・SPIRAL ver.2 サポートサイト フォームブロックのステップ取得用PHPクラス https://support.spiral-platform.com/function/function-site-manage/block/7144.html

    • いいね
    2022年10月26日(水)
  • ステップ番号とは

    ステップ番号とは、getStepメソッドにて取得した値になります。 値は、空白です。

    • いいね
    2022年10月26日(水)
  • ご回答いただきありがとうござます。 getStepメソッドを利用してステップ番号を取得するパターンを複数試しましたが、同じ現象を再現をすることができませんでした。 具体的な原因特定ができず申し訳ございませんが、初回遷移時のみ、PHPの他の処理でエラーが発生していのではないかと考えています。 PHPエラーの発生有無は、下記のエラー確認用ソースをbodyに追加することで確認ができますので、お試しいただけますと幸いです。 <div th:if="${cp.result.isSuccess}"> <p th:text="${cp.result.value['APIERROR']}"></p> <!-- APIエラー文言を出力 --> <p th:text="${cp.result.docbody}"></p> </div> <div th:if="${!cp.result.isSuccess}"> <p th:text="${cp.result.errorMessage}">error message</p> <!-- PHPエラーを出力 --> </div>

    • いいね
    2022年10月26日(水)
  • エラー確認用ソースをbodyに追加して試す

    メッセージは何も表示されません。

    • いいね
    2022年10月27日(木)
  • ご確認いただきありがとうございます。 いただいた情報では同じ現象を再現をすることができませんでした。 スペップ番号の取得が正常に動作したソースを下記に記載させていただきます。 フォームの設定やbody、PHPの他の処理など、今一度お確かめいただけますと幸いです。 ▼ステップ番号表示用タグ(ページ、登録フォームブロックの両方で確認) <p th:text="${cp.result.value['step']}">ステップ</p> ▼PHP <?php $registForm = $SPIRAL->getRegistrationForm("newInsertForm1"); //登録フォームブロックの識別名 $step = $registForm->getStep(); $SPIRAL->setTHValue("step", $step); ?>

    • いいね
    2022年10月31日(月)
  • 記述の再確認

    記述を再確認しました。 ①のPHP環境変数から読み込んでいるところ以外は同じになります。 ②にBLOCK_NAMEを直書きしても結果は同じです。 ステップ2~確認ステップまでは正常に表示されますが、 完了ステップは、ステップ1と同様に空白を出力します。但し、完了ステップは、 「isCompletedStep()」にて取得できますので特に問題としておりません。 ---PHP ①$block_name = $SPIRAL->getEnvValue("BLOCK_NAME"); ②$registForm = $SPIRAL->getRegistrationForm($block_name); ③$step = $registForm->getStep(); ④$SPIRAL->setTHValue("step", $step); ---body(確認用) ⑤<p th:text="'step: ' + ${cp.result.value['step']}"></p>

    • いいね
    2022年10月31日(月)
  • いただいたソースに記述を変えて再度確認をしてみましたが、再現することができませんでした。 ステップ番号の取得と表示部のソースを同じにしても再現できないという点から、bodyやPHPの他の記述、フォームや認証エリアといった関連する設定が原因となっている可能性が高いと考えています。 また、getStepメソッドではステップ設定で設定できる入力/確認ステップを取得するため、完了ステップが取得できないのは正しい動作となります。

    • いいね
    2022年11月2日(水)
  • 未解決

    応急処置として、空白はステップ1と解釈して対応しました(納期の関係上)。引き続き対応をお願いいたします。

    • いいね
    2022年11月7日(月)