SPIRALで作成した登録フォームのページに遷移した直後のステップ番号が不定で取得されます(本来なら番号の"1"が取得される)。 次のステップ以降へ遷移した場合は、正常な番号が取得できます。また、ステップ2からステップ1へ戻った場合は、正常な番号"1"が取得できます。何故、ページ遷移直後のステップ番号が、不定になるのでしょうか? ご教授の程、よろしくお願いいたします。
コメント
ご回答いただきありがとうござます。 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>
ご確認いただきありがとうございます。 いただいた情報では同じ現象を再現をすることができませんでした。 スペップ番号の取得が正常に動作したソースを下記に記載させていただきます。 フォームの設定やbody、PHPの他の処理など、今一度お確かめいただけますと幸いです。 ▼ステップ番号表示用タグ(ページ、登録フォームブロックの両方で確認) <p th:text="${cp.result.value['step']}">ステップ</p> ▼PHP <?php $registForm = $SPIRAL->getRegistrationForm("newInsertForm1"); //登録フォームブロックの識別名 $step = $registForm->getStep(); $SPIRAL->setTHValue("step", $step); ?>
記述を再確認しました。 ①の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>
ナレッジ
向上チーム
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