8.5.4 レガシーフォームで自動返信がつけたい
こちらのページを参考に自動返信をつけようとしています。
http://concrete5-japan.org/community/forums/beginner/post-15781/
ご紹介されている方法2つとも試してみましたが
同じ場所のファイルで、同じ記載のところでエラー表示になります。(画像添付します)
※今は1)を入れている状態になっています
-----------------------
1)標準のメールフォームに確認メール送信機能とCSVを Shift JIS に変換する機能を追加する
http://github.com/katzueno/c5-form-support-Japanese-style
2)【concrete5】concrete5 ver5.7のフォームに自動返信機能をつける方法
http://onocom.net/blog/%E3%80%90concrete5%E3%80%91concrete5-ver5-7%E3%81%AE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AB%E8%87%AA%E5%8B%95%E8%BF%94%E4%BF%A1%E6%A9%9F%E...
-----------------------
どなたかお知恵を貸していただけませんでしょうか。
よろしくお願いいたします。。。
▼環境
# concrete5 Version
Core Version - 8.5.4
Version Installed - 8.5.4
Database Version - 20200609145307
# Database Information
Version: 5.5.68-MariaDB
SQL Mode:
# concrete5 Packages
None
# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - Off
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).
# Server Software
Apache
# Server API
cgi-fcgi
# PHP Version
7.2.34
Re: Re: 8.5.4 レガシーフォームで自動返信がつけたい
ありがとうございます。
-------------
Whoops \ Exception \ ErrorException (E_WARNING)
count(): Parameter must be an array or an object that implements Countable
-------------
と記載されています。
キャプチャも添付します。
よろしくおねがいいたします。
Re: 8.5.4 レガシーフォームで自動返信がつけたい
2021/02/19配信の週刊 concrete5拝見しました
http://www.youtube.com/watch?v=QM9t8h3AlQY
生感があってこんな風に見てくださるんだと感動しました。ありがとうございます!
初心者で敬遠しているところがありましたが、次回からライブでも見てみたいと思います
(ラジオでメッセージが読まれるドキドキ感と似たものを感じました)
▼画面でエラーが出るようになりました
以下のコードをダウンロードして使用したところ、エラーが出ます。
http://github.com/katzueno/c5-form-support-Japanese-style
・レガシーフォームを設置しているページを開くとエラーになります(添付1)
・フォームがないページで、ページを編集モードにするとエラーになります(添付2)
何度もすみません
よろしくおねがいいたします
Re: 8.5.4 レガシーフォームで自動返信がつけたい
すいません・・・コンマ「,」を間違って入れてしまったミスがありました。
ライブで話しながら修正していて・・・
すいません。
再度
application/blocks/form/controller.php
を適用していただけすか?
もしくは、エラー画面にある通り
application/blocks/form/controller.php
306行目の「,」を削除していただくだけでもOKです。
GitHub のファイルも同じ修正をしています。
> 生感があってこんな風に見てくださるんだと感動しました。ありがとうございます!
> 初心者で敬遠しているところがありましたが、次回からライブでも見てみたいと思います
いえ、初心者の方こそ、参加して欲しいと思っているので、
ぜひ、お時間があえば参加ください。
よろしくお願いいたします。
Re: 8.5.4 レガシーフォームで自動返信がつけたい
添付の箇所がエラーになります
@$mh->sendMail();が上のと重複?と思い消したり、閉じタグを触ってみましたがわからず。。。
エラー解消されるも自動返信は来ずな状態です。
すみません、ご確認をお願いします
エラーコードを見ても直しどころが判断できずお恥ずかしいです
よろしくお願いします
Re: Re: 8.5.4 レガシーフォームで自動返信がつけたい
※一番最後の閉じタグ1つだけ多いみたいです。消したら動きました!
すみません、次はもう1つ問題が・・・
必須チェックがかからなくなりました。
また、内容自体がすべてからっぽでも、送信完了になります。
↑送信したら別のページに移動するようにしてます。
からっぽでも、送信ボタンを押すと完了画面へ移動します
管理画面には、このときの情報は入っていませんでした。
▼以下試しました
--------------
必須を全部いれて送信完了: 管理画面へ情報はいる。自動返信メールも来る
空っぽで送信完了: 管理画面へ情報は入らない、メールも来ない
内容を一部だけ入れて送信完了: 管理画面へ情報は入らない、メールも来ない
※メールアドレスと名前のみいれてみた。他にも必須項目はあるがからっぽにした。
Re: 8.5.4 レガシーフォームで自動返信がつけたい
/application/mail/block_form_submission_user.php
の9行目、
//$subject =""; // 件名をカスタマイズする場合は、ここのコメントアウトを外して入れることで件名を設定できます。
をカスタマイズせずにコメントアウトしたままにしておけば個別のフォーム名が件名になります。
また、お問合せしてきた方向けメールの件名「新着フォーム」消すには
/application/blocks/form/controller.php
の308行目
$mh->setSubject(t('%s Form Submission', $this->surveyName));
これを
$mh->setSubject(t('%s', $this->surveyName));
このように書き換えればOKです。
※管理者宛メールの「新着フォーム」を消すにはまた別の方法となります。必要だったら言ってください。
Re: 8.5.4 レガシーフォームで自動返信がつけたい
を下記ディレクトリにコピー
application/mail/
上記でコピーした
application/mail/block_form_submission.php
の5行目を次のように書き換える
$subject = t('%s Form Submission', $formName);
↓
$subject = t('%s', $formName);
以上で管理者宛メールの件名から「新着メール」が消えます。
Katz Ueno
Re: 8.5.4 レガシーフォームで自動返信がつけたい
このエラー画面の左上の英語のエラー文を教えてもらえますか?
おそらく、PHP7.2 に対応していないコードだと思うので、
その修正だけで大丈夫かなと思います。
このコードを作ったのが5年前なので、アップデートが必要だと思います。