■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。
このフォーラムは閲覧専用のアーカイブです。

お問い合わせフォーム(メールフォーム)のアレンジについて

cocoa > お問い合わせフォーム(メールフォーム)のアレンジについて @ 2014/11/16 0:05
こんばんは。

お世話になります。

今回は、BaserCMSのお問い合わせフォーム(メールフォーム)を、もう一つ別に作り、
別の用途(登録用フォーム)に改造したいと考えていいます。

送信メールについては、
デフォルトの「送信メールテンプレート名 」にあるファイルをコピーして、
書き加えたりすることで、大丈夫だとわかりました。

できれば、次のページにも改造を施したいのですが。。。
「入力内容の確認」ページ(confirm.php)
「メール送信完了」ページ (submit.php)
 
デフォルトのファイルをコピーして、ファイル名を書き換え、中身にもいろいろ書き加えるところまでは、わかったのですが、これらの、改造した方のページを使うためには、どうすれば良いでしょうか?

今回利用のBaserCMSのバージョンは、3.0.2で利用環境は次の通りです。

baserCMS環境
 coreserver (core miniです。)
スマートURL: ON
設置フォルダ: /virtual/myID/public_html/MyDomain.net/
セーフモード:Off
データベース: MySQL  5.1.73
baserCMSバージョン: 3.0.2
CakePHPバージョン: 2.4.6
PHP Version 5.3.29


おわかりの方がいらっしゃいましたら、どうぞよろしくお願いいたします。
n1215 > Re: お問い合わせフォーム(メールフォーム)のアレンジについて @ 2014/11/16 0:27
cocoa 様

テーマ内にメールフォームテンプレートを作成していると仮定して書きます。

メールフォーム設定編集画面(ex. http://example.com/admin/mail/mail_contents/edit/1)において
オプションで表示される詳細設定項目に[メールフォームテンプレート名]というものがあります。
選択することで各メールフォームごとに複数のテンプレートを使い分けることが可能です。

初期設定では選択肢はdefaultのみですが選択できるテンプレートの種類を増やす方法は簡単です。
app/webroot/theme/{テーマ名}/Mail/{メールフォームテンプレート名(好きな名前で結構です)}/というディレクトリを作成し
そのディレクトリに改造した各種ファイル(confirm.php、index.php、submit.php、unpublished.php)
を配置してください。

Twitter: @n_1215

cocoa > Re: お問い合わせフォーム(メールフォーム)のアレンジについて @ 2014/11/16 2:58
n1215さま

早速のご回答、ありがとうございます!

早速、やってみたのですが。。。

まずはテストのために、、。
1)元々使っていた『問い合わせ』フォームをコピーしてリネーム。
2)(教えて頂いたように。。。)あらかじめ、テーマ/Mail/ フォルダに、
defaultフォルダごと、一端、コピーしてから、
新しい名前のフォルダを作り、
そのフォルダ内の、confirm.php、submit.phpの中身に、文言だけ変えてみたり、
書き加えたりして、テストしました。

たとえば、URLが次の通りだとすると、
http://myDomain.net/test_reg/index

このURLへアクセスし、フィールドに適当な文字を入れて、画像認証も行い、ボタンをクリック。

すると、
URLは、 http://myDomain.net/test_reg/confirm なのですが、

『システムエラーです。』と表示されます。
その下には、
エラー: The requested address '/test_reg/confirm' was not found on this server.
となってしまいます。

もしくは、何もない真っ白けのページが表示されるだけです。


作成したメールアカウントページ(http://myDomain.net/admin/mail/mail_contents/edit/2)[/b]の、
オプション部分を開き、

レイアウトテンプレート名 *   default 元のまま
メールフォームテンプレート名 * test_reg   ←作成したフォルダを選択
送信メールテンプレート名 *   mail_test ←(コピペして)新しく作ったメールテンプレートを選択


このような感じにしています。

どこで間違ったのか、いろいろと確かめているのですが、今ひとつ、、、わかりません。

ヒントになること等でも結構ですので、教えて頂けますでしょうか。

ご面倒をおかけし、誠に申し訳ございませんが、どうぞよろしくお願いいたします。

cocoa > Re: お問い合わせフォーム(メールフォーム)のアレンジについて @ 2014/11/16 19:22
こんばんは。

フォルダ名、パーミッション設定なども含めて、
先ほど、再度、全部チェックしてみました。

メールフォームテンプレートフォルダ内のパーミッション設定だったのか?
(でも元々のdefaultフォルダ内のファイルは、644のままですが。。。)

一度は、うまくいきました!

と思い、喜んで、解決しましたと書き込もうとしたのですが、
再度、テストすると、
やはり、

ホーム > 404 NOT FOUND

システムエラーです。

エラー: The requested address '/test_mail/confirm' was not found on this server.

となってしまいます。


メールフォームテンプレート名 *横の 
≫ 編集するをクリックして、
テーマ管理メニューから、コンテンツ一覧 > Mail/
フォルダ名/テーマファイル名から test_mail/ の開く をクリックして(でもたまにサーバーエラーになりますけれど。。。)

それぞれのファイルは見えていて、中身も確認できます。

confirm.php
index.php
submit.php
unpublish.php



さっき、一度、うまくいったのは、逆に、何故できたのか?
それで、また、全くエラーになってしまい。。。

よくわかりません。

原因として考えられることは何かあるでしょうか?

BaserCMSの中で、複数のメールフォーム(問い合わせ以外に、申し込み、登録等々。)を
まとめられると良いかと思い、やりかけたのですが、、。

何か原因として考えられそうなことがありましたら、ご教授頂けるとありがたいです。
どうぞよろしくお願いいたします。
n1215 > Re: お問い合わせフォーム(メールフォーム)のアレンジについて @ 2014/11/16 19:56
cocoa 様

下記2点ご確認ください。

●エラーの詳細
デバッグモードでもそれ以上に詳細なエラーの情報は出ませんか?

●原因の切り分け
また、メールフォームテンプレートをdefaultに戻した場合はエラーが出ないのでしょうか?
defaultの状態で同じエラーが出るならbaser側の問題である可能性もあります。


多分Securityコンポーネントがらみのエラーな気がしますが。

Twitter: @n_1215

cocoa > Re: お問い合わせフォーム(メールフォーム)のアレンジについて @ 2014/11/16 20:45
n1215さま

何度もご回答くださって、ありがとうございます。
そして、お騒がせしました

先ほどから、
もう一度、元の
お問い合わせメールフォームのプログラムも含めて、
全部、比べたり、検証してみました。

多分、confirm.php、submit.phpに、
(気をつけていたつもりでしたが。。。)
アレンジの文言を追加する際に、どこか、タグの状態がおかしかったとか、
何か不要なキャラクタを入れてしまったとか、
そういうことだったのだと思います。

うっかり、
デバッグモードでやり忘れていましたが(^_^;、
今、デバッグモードで試しましたが、エラーも出ずに大丈夫でした。
(ちゃんと、送信ボタンクリック、送信後のページ表示、メール送信もOKでした。)

お騒がせして申し訳ありませんでした。

おかげさまで、タイプの違う、複数のメールフォームが設置できそうです。
ありがとうございました♪