プラグインmultiple_page_formのテンプレート変更 投稿する

投稿者:kamo  投稿日時:2021-03-01 12:27:47
いつも開発ありがとうございます。
複数ページフォームプラグインのテンプレート変更についてお尋ねします。
プラグインを開き「選択式」のページ種別で設定画面下にある説明のとおり
----------------------------
新たにテンプレートを追加する場合は、/home/*****/web-domain.net/public_html/cms/common/site_include/plugin/multiple_page_form/template/choice/以下にPHPファイルを配置してください。
-------------
choiceの中にdefault.php以外に追加でselect1.phpのようにファイルを配置したのですが、
テンプレート選択にその追加したphpが表示できないという状態です。
何かほかに設定箇所はありますでしょうか?
投稿者:齋藤毅  投稿日時:2021-03-02 05:09:08
コードを確認しましたところ、プラグインの詳細画面に記載されている説明文の方に誤りがありました。
正しいパスを出力するように修正しましたので、バージョンアップをお願いします。

対応済みのパッケージのダウンロードは下記のページから行う行う事ができます。
SOY CMSを使ってみよう - saitodev.co

今回のやりとりで話題に挙がっているプラグインは下記のページに記載があります。
SOY CMSで複数ページフォームプラグインを作成しました - saitodev.co
投稿者:kamo  投稿日時:2021-03-02 16:20:09
kamoです。
バージョンアップのご対応ありがとうございます。
CMS3.1.2.7にアップして記載されている場所にファイルを配置し管理画面から
テンプレート選択ができるようになりました。

もう1つ、ページ種別「選択式」に関連した質問をさせてください。
適用したテンプレートはdefaultの選択する部分のみHTML表示される箇所を
書き換えましたが、それ以外は元々の内容と同じです。

以下のようなフォーム構成の場合で2つ目の画面で「戻る」がある場合の記述が
公開側では、なぜか1つ前に戻らず3のフォームに移動します。
-------------------
1.ページ種別「選択式」
2.ページ種別「選択式」
3.住所などの入力フォーム
4.確認
5.完了
------------------------
該当部分の記述は以下のようになっています。

//戻るがある場合
if(isset($prev) && strlen($prev)){
	$html[] = "<br><a href=\"" . $url . "?prev=" . $prev . "&soy2_token=" . $token . "\">戻る</a>";
}
----------------とdefault.phpにある部分を
どう書き換えると最初の1の選択式画面に戻せるでしょうか?
この部分を試しにJSでhistory.back();としてみましたがこちらはダメでした。

ご多忙のところお手数をお掛けしますがどうぞ、よろしくお願いいたします。
投稿者:齋藤毅  投稿日時:2021-03-03 04:48:53
ページ種別「選択式」の設定内容が分からないので判断が難しいですが、もし、1.ページ種別「選択式」の方で、設けた選択肢の一つに2を飛ばして、3.住所などの入力フォームを表示するという設定があれば、3から2に戻すことはできません。

このプラグインの仕組みは、表示したページをルートとして記録します。「1,2,3」のように。
「1,2,3」という記録がある場合、一番最後の値を取り出し、3のページを開くのですが、戻るという動作は「1,2,3」から先頭の3を外し、「1,2」にして、2のページを開くという処理を行っています。

もし、2のページを飛ばさない設定内容であれば、ルートの記録の方法に不具合があります。
その場合は選択式のページだけで良いので設定内容をお伝えください。
投稿者:kamo  投稿日時:2021-03-03 10:31:50
kamoです。 度々お手数をお掛けします。
----------------
1.ページ種別「選択式」・・・日付
2.ページ種別「選択式」・・・時間帯
3.住所などの入力フォーム
4.確認
5.完了
--------------------
1.で日付の一覧の選択できるリンクがあり、そのどれかをクリックすると
2.の時間帯画面に進み、こちらで1つの時間帯を選択し、
3.の入力フォームに進むという構成です。

3まで進んで、そのフォームの下にある「戻る」をクリックすると
こちらは1つ前の2の時間帯選択に戻れます。

2の時間選択の画面で、1の最初の日付選択に戻りたいときが
今回うまく戻れず、戻るをクリックすると3の入力フォームに移動しているという
状態です。
今回の複数フォームの構造上、選択式が2つ続くというのが想定されておらず、
今回の構成がうまくないのでしょうか。

2つのどちらかを選択式からフォームに変える?とよいでしょうか。
投稿者:齋藤毅  投稿日時:2021-03-03 10:47:52
1.で日付の一覧の選択できるリンクがあり、そのどれかをクリックすると
2.の時間帯画面に進み、こちらで1つの時間帯を選択し、
3.の入力フォームに進むという構成です。
1と2は選択式の開発時に上記のように設定する想定になかったです。

時間帯はおそらく午前か午後か?になると予想していますので、次のページを同じにした項目を設ければうまくいくと思いますが、日付の方はdatapickerを設置するような入力フォームにすることをオススメします。
SOY InquiryでjQuery UIのDatepickerを利用してみる - saitodev.co

選択式は元々、途中のページを飛ばす為に開発されたページでして、例えば、
1.選択式ページで大阪か東京か?を選ぶページ
2.大阪の場合のみ観光に関するフォームのページ
3.顧客情報入力ページ
のような場合に、1で東京を選択した場合に一気に3に遷移する事を想定しています。
投稿者:kamo  投稿日時:2021-03-03 12:44:14
kamoです。
度々お手数をお掛けします。 ご回答ありがとうございます。

選択式が連続する件、想定外ということ、了解いたしました。
また、日付のご提案ありがとうございます。
ただ今回の場合、カレンダーからの選択では少し都合が悪いため、
選択式を選んだので、時間選択をフォーム形式に変更して、
ラジオボタン構成で、1.の日付画面にも戻れましたので、
とりあえずそれでいきます。

なお、複数フォームプラグインを使った場合、
現在の仕様では、Soy inquiry側での設定で、
-------------------------------------
ユーザー宛メールの設定
送信可否:ユーザに確認メールを送信する
------------------------------
にチェックを入れた場合でも、確認メールが流れない?ようです。
管理者には控えが届きました。

ご多忙の中、ご回答頂きありがとうございました。
今後ともよろしくお願いいたします。
投稿者:齋藤毅  投稿日時:2021-03-03 13:38:33
現在の仕様では、Soy inquiry側での設定で、
-------------------------------------
ユーザー宛メールの設定
送信可否:ユーザに確認メールを送信する
------------------------------
にチェックを入れた場合でも、確認メールが流れない?
これは厄介ですね。
複数ページフォームプラグインは最後にSOY Inquiryに接続して、SOY Inquiry上からメールを送信する仕組みになっています。
メールボックスの仕様なのか?送信されるメールとされないメールがあるみたいで、私のサイトに設置しているフォームでも同様の問題が発生しています。

SOY Inquiryで同一IPアドレスからの連続した問い合わせをブロックする - saitodev.coで紹介した機能がうまく噛み合わなくてメールが送信されないということがありそうです。
投稿者:齋藤毅  投稿日時:2021-03-06 05:53:59
管理者宛のメールが届かない事に関して、当サイトに設置しているお問い合わせフォームを調べていましたら、借りていたサーバのメールボックスの方でいつの間にか通知メールが迷惑メール扱いになっていました。

私が借りているメールボックスはさくらのメールボックスなのですが、コントロールパネルからウェブメールを開いて、SOY Inquiryで指定しているメールアドレスをホワイトリストに加えたら、管理者宛に通知メールが送信されるようになりました。
投稿者:kamo  投稿日時:2021-03-06 12:30:06
kamoです。
わざわざご確認頂きありがとうございます。
こちらの環境はXサーバーですが、どうも原因は別のようです。
同じSOYCMS上で、フォームを3つ設置、その内の1つが今回の複数フォームです。
従来のinquiryで項目設定した2つのフォームでは問題なく自動返信が届きます。
また、ホワイトリストの件も設置してみましたが状態は変わらなかったです。

利用してる環境の問題なのかもしれません・・・。
後で、別の環境でもテストしてみます。

実は、今回のフォームは、齋藤様に4月に開発をお願いしている某団体から
デモ画面の作成を依頼され、それ用のものでした。
なので、先方には正式版では連携するとして
とりあえず今回のフォームは、複数フォームは使わない形にしました。

いろいろありがとうございました。今後ともよろしくお願いいたします。
ログインして投稿する