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

メールフォームに手を加えたいのですが

umeboshi > メールフォームに手を加えたいのですが @ 2011/5/29 23:48
PHP初心者です。今回メールフォームについて3点ほど質問があります。初歩的な内容かもしれませんが、ご教示いただけたら幸いです。

1. メールフォームに添付機能(JPEG画像)を付けることができますか?
今回メールフォームをエントリーフォームとして利用したいと考えています。
そこで添付写真が2枚必要なのですが、添付機能をBaserCMSにて組み込むことは可能でしょうか?
PHPを直接いじる必要がある場合、どのソースをどうすれば良いか…
出来る限り具体的なところまでお聞きしたく思います。

2. メールフォームをディレクトリ内に配置させることは可能ですか?
ページ作成の「カテゴリ」ように、メールフォームをディレクトリ内に配置したいと考えています。
たとえば entry/index.html には応募要項の記載があり、郵送の場合の宛先などが添えられています。
さらにそこからリンクされた entry/mailform.html に入るとメールフォームのページになる、というイメージです。
そのような構成は果たして可能でしょうか?

3. メールフォームの自動返信メール(サンクスメール)の内容を変えるには?
デフォルトの設定では、自動返信メールにメールフォームで入力した内容が記載されています。
しかしこれだと万が一メールアドレスを誤って入力した場合に、第三者に情報が渡ってしまうことが考えられます。
なので、自動返信メールには入力内容を表示させなくしたいと考えています。
この場合、どこのソースをいじったら良いのでしょうか?

以上3点、長くなってしまいましたが、どうかよろしくお願いいたします。
ryuring > Re: メールフォームに手を加えたいのですが @ 2011/5/31 16:42
こんにちは。

引用:
1. メールフォームに添付機能(JPEG画像)を付けることができますか?


残念ながら基本機能にはないので、カスタマイズする必要があります。
ただ、CakePHPのEmailComponent自体には、ファイルの添付機能がありますので、そちらを利用できると思います。
メールの送信は、MailController::submit() で行っていますのでそこから辿るとわかると思います。
baser/plugins/mail/controllers/mail_controller.php

ただ、コアプログラムのカスタマイズには注意が必要ですので、こちらのページを参考にされてください。
BaserCMSカスタマイズ時のポイント

引用:
2. メールフォームをディレクトリ内に配置させることは可能ですか?
ページ作成の「カテゴリ」ように、メールフォームをディレクトリ内に配置したいと考えています。
たとえば entry/index.html には応募要項の記載があり、郵送の場合の宛先などが添えられています。
さらにそこからリンクされた entry/mailform.html に入るとメールフォームのページになる、というイメージです。


ディレクトリ内に配置する事はできません。
例えば、メールフォームプログラムのURLが、/contact/index の場合、実際にcontactフォルダがあるわけでなく、ApacheのModRewrite機能によって仮想的にURLを実現しているだけとなります。
その際、contactフォルダを設置してしまうと、メールフォームプログラムが起動できなくなってしまいます。
※ BaserCMSの全てのプログラムは、app/webroot/index.php が起動プログラムとなります。

ただ、そういう案件もありますので、自分は次のように対応しています。
■ メールフォームのコンテンツ名を実際のフォルダ名とは違う名前にする
■ メールフォームを作成してしまう。
■ メールフォームのHTMLソースをコピーして、実際のフォルダ内に任意のファイル名で設置

formタグの送信先はプログラムの方のURLとなっているはずですのでそのまま動作します。

もちろん、これは、一旦送信した後のURLをユーザーは見ていないだろうという前提です。


引用:
3. メールフォームの自動返信メール(サンクスメール)の内容を変えるには?


これは簡単にできます。
コアパッケージにあるメールフォームの自動送信メールのファイルをテーマ内の同一階層にコピーして編集するだけです。
baser/plugins/mail/views/elements/email/text/default.ctp
 ↓
app/webroot/themed/{テーマ名}/elements/email/text/default.ctp

管理画面のテーマ管理からコピーする事もできます。


※ 他の方が探しやすくなるよう、次からは、異なった質問はタイトルを分けて別々にスレッドを立ててくださいね



Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

umeboshi > Re: メールフォームに手を加えたいのですが @ 2011/6/1 13:02
ご返答有り難うございます。
1と2が難しそうなので、少し時間をかけて検討してみます。出来ない、ということが分かっただけでも収穫でした。
3に関しては、お陰様で実現できそうです。このやり方でテストしてみようと思います。
今回はメールフォームというくくりだけでまとめて質問してしまったのですが、今度からは分けて質問したいと思います。
ご丁寧にどうも有り難うございました。