MultiConfigで分岐した際の挙動について

kemuyamaさん (2013-10-24 17:14:33) kemuyama.moo.jp/test/mailformprotest/example.html

初めまして。
そしていつもお世話になっております。

この度、他言語サイト(日本語/英語)にメールフォームプロ4.1.2を設置することになりました。
フォームを設置するhtmlはそれぞれ用意します。
(設置URLでは、example.htmlが日本語ページ、example_en.htmlが英語ページとなります)

・エラーメッセージ・confirmページ・返信メールの文言
・thanksページ

これらを振り分けるために、MultiConfigモジュールを利用して実現したいと考えております。

英語ページ用にconfig.en.cgiを用意し、返信メールのテキストとthanksページの遷移先URL、言語設定ファイル(lang.enに)を変更、
英語ページでtype=enとしてconfig.en.cgiを呼び出しております。

このときに、思い通りにいかない点が二つあります。

ひとつは、言語設定が反映されない点です。
もうひとつは、英語ページから送信すると、設置者へのメールが二通届いてしまう点です。

後者については、config.en.cgiの内容をconfig.cgiと同じにする等試してみたのですが、状況はかわらず、原因がまったくわかりません、、。
BCCはばっちり解除してあります。
前者は、、、言語設定をキャッシュさせているのでしょうか、
それぞれのconfigをアップロードする度に、反映される言語が変わるような気が致しております、、これもさっぱりわかりません、、!

お忙しいところ恐れ入りますが、サポートセンターでのご対応の範疇でしたら、ご返信頂けるととってもたすかります。
どうぞよろしくお願い致します。

Re:MultiConfigで分岐した際の挙動について

和田 (2013-10-28 03:19:28) www.synck.com

> メールが2通届く
MultiConfigを利用する場合、後から読み込む方(config.xx.cgi)ではメールアドレスの指定をする必要がありません。ありませんというか配列の初期化をしていなかったりするので
@mailto = ();
で中身を初期化していただくか、2番めに読み込む方は書かなくてもOKです。

> 言語が変わらない
マルチコンフィグで他言語にする場合、dataフォルダを分ける必要があります。というのもjsファイルのキャッシュを生成する仕組みのため、dataフォルダが同じ場合、1つのキャッシュファイルを複数の言語で使いまわすことになるためです。

config.cgiの下の方に
$config{’data.dir’} = ’./data/’;
というような部分があるとおもうので
$config{’data.dir’} = ’./data.en/’;
のようにフォルダ名を分けて、dataフォルダを複製しフォルダ名を変名してください。
ほんと説明が全然なくてすいません。

Re:Re:MultiConfigで分岐した際の挙動について

kemuyamaさん (2013-10-28 10:58:49) kemuyama.moo.jp/test/mailformprotest/example.html

ご返信ありがとうございます。

ご説明頂いた通りに修正し、無事思い通りの挙動を確認できました!

MultiConfig便利な機能ですね。
以降の案件でも使う機会がありそうです。

この度はお時間を割いていただきありがとうございました。
また、素敵なメールフォーム(無料、、!)をありがとうございます。
おかげさまでいつも助かっております。
今後もたくさん利用させていただきたく存じますので、どうぞよろしくお願い致します。