【環境】
modx 0.9.6.1p2
eForm1.4.4
フォームの内容を送信した後、表示されるはずの、thankyouページが表示されず困っております。
スニペットは以下のように記述しました。thankyouページ用のドキュメントIDは67です。
[!eForm? &tpl=`#form` &formid=`form1` &to=`xxxxxxxx` &report=`#report` &thankyou=`[~67~]` !]
そして、実際にフォームで送信を行うと、
テンプレートのドキュメントまたはチャンクが見つかりません。 id= ’otoiawase/67.html’
というエラーメッセージが表示されてしまいます。
どなたかお分かりになる方がおられました、ご教授下さい。
`[~67~]`を`67`と入れてやってみてください。
ZeRoさんが教えてくださったやり方でうまくいきました。
ありがとうございました。
教えていただきたいのですが、
[~67~]と67では、何が違うのでしょうか?
eFormのソースを見ると、thankyouに数字が入ってる場合にはそれをドキュメントIDとして見なしてそのドキュメントから内容と取り出してそれを表示させるようになっています。
[~67~]の場合は、数字だけではないのでチャンク名と解釈されて、それが存在しないというエラーになったわけです。
実際には、[~67~]というのはMODxのタグの記述になっているので、ドキュメントID67のエイリアス名が展開されてそれがthankyouのパラメータになっています。(otoiawase/67.html ←これが[~67~]が展開された結果です)
ちょっと戸惑うとは思いますが、ロジック上そんな風にthankyouの中身を判別して内容を引っ張ってきてるわけです。
ちなみに、gotoidっていうのもあって、そっちだと送信後に別のページに飛ぶ仕組みになります。
いわゆるサンキューページのURLっていう感じになるので、thankyouのパラメータより明快でジャンプ先のドキュメントIDを指定することになります。
こっちでも問題なければ、こっちの方がよい?? いや、好みの問題かもですね。
なるほど、そのような仕組みだったのですかぁ。
私としてはgotoidよりもthankyouのほうが、好みなのでthankyouを使おうと思います。
ありがとうございました。