【concrete5】concrete5 ver5.7のフォームに自動返信機能をつける方法

concrete5のフォームブロックには、自動返信機能が無い!

concrete5のフォームブロックにはフォームを送信してくれた人に対する自動返信の機能が付いていません。

企業サイトでは自動返信をお客様に対して送信ほしい。という事をよく言われるので自動応答出来ないとちょっと困りますよね。

アドオンや外部フォームを使うなどの実現方法もありますが、わりと簡単に自動返信機能のカスタマイズは行なえますので、その方法をご紹介します。

自動返信メールの設定手順

以下の流れで自動返信機能を追加します。コピペで出来ると思うので、怖がらずにチャレンジしてみてくださいね。

  1. フォームブロックを使ってフォームを作る
  2. 自動返信メールの雛形を作成する
  3. フォームブロックに自動返信処理を追加する

1. フォームブロックを使ってフォームを作る

普通にフォームブロックを使ってフォームを作りますが、メールアドレスフィールドの設定を忘れないようにしましょう!

1-1. メールアドレスフィールドを追加して、【このEmailアドレスへ返信 】にチェックを入れる

このアドレスに自動返信することになります。もちろん必須入力にすることをお忘れなく。

メールアドレスフィールドを作る

 

補足:サイト管理者へのフォーム送信通知メールの設定も忘れないように

フォームの送信があった時に、サイト管理者へメールで通知出来るように以下の設定も忘れないようにしましょうね。意外と忘れがちなので。

通知メールアドレスを設定する

 

2. 返信メールの本文を作成する

ココからは、concrete5のapplicationフォルダに必要なファイルを追加していきます。

GitHubにサンプルファイルを置いたので、まずは以下からダウンロード下さい。

GitHubから雛形をダウンロードする

以下に自動返信処理の雛形を置いたのでダウンロードしてきて下さい。

利用するのはapplicationフォルダ配下のみです。

https://github.com/onocom/concrete5-formblock-auto-reply-skeleton

2.自動返信メールの雛形を作成する

GitHubからダウンロードしたファイルの中から以下のファイルを開きます。

/application/mail/block_form_auto_reply.php

このファイルが自動返信メールで利用されるメールテンプレートになります。
開いたら、以下部分の冒頭文・署名を好きな文言に書き換えます。

3.フォームブロックに自動返信処理を追加する

次は、自動返信処理を追加していきます。

と言っても、先ほどGitHubよりダウンロードしたPHPファイルに送信処理は記述しておいたので、送信元メールアドレスや、送信者名、メールの件名等のパラメータを変更してあげるだけで良いかと思います。

GitHubからダウンロードしたファイルの中から以下のファイルを開きます。

/application/blocks/form/controller.php

580行目あたりから始まる以下の部分を書き換えていきます。

コメントにあるとおり、送信者名($myFromName)・送信者のメールアドレス($myFromAddress)・メールの件名($myMailTitle)を書き換えます。

メールのテンプレート名($myMailTemplate)は基本的にこのままで大丈夫ですが、オリジナルのメールテンプレートを利用したい場合は、ここにそのテンプレート名を設定します。

4. ファイルをアップロードしよう

編集が終わったら編集を行った以下の2ファイルをサーバ上の同じディレクトリにアップします。

mailディレクトリやblocksディレクトリ、formディレクトリが存在しない場合は、作成します。必ず、このパスになるようにファイルを配置しましょう。

/application/mail/block_form_auto_reply.php
/application/blocks/form/controller.php

※ もし上記ファイルが既に存在している場合、ファイル比較ソフトを利用するなどして慎重にマージして下さい。

これで多分おそらく、フォームに自動返信機能が付加されているはずです。

試しに送信することをお勧めします。

まとめ

まだまだ改善の余地はありますが、少しばかりの道筋は示せたかと思います。

このカスタマイズ方法がご参考になれば幸いです。

改善の余地

必要な関数のみオーバーライドしたほうがメンテナンス性高そう。

複数フォームが設置されている場合のことをもう少し考慮したほうが良い。

concrete5 Version8が出てるけど動くかは検証出来ていない。

動作確認環境

concrete5 Version – 5.7.5.13

【Adobe Photoshop CC 2017】カラーピッカーが壊れた・おかしい!いつもと違う!Windows標準のカラーピッカーだ!という時の解決方法

突然Photoshopのカラーピッカーが壊れた!?
何をやってもWindows標準のカラーピッカーが表示される!!

なぜだ!Photoshopのカラーピッカー(色を選択する画面)が突然、壊れた!

なぜかWindows標準のカラーピッカーになってる!ワークスペースを変更しても駄目で、再起動しても駄目。

検索しても出てこなかった(検索ワードが思いつかなかった)のでメモ。

環境設定をいつの間にか触っていたのが原因でした。(情けない)

表示されたWindowsのカラーピッカー

Window標準のカラーピッカー

WordとかExcelでたまに見るようなやつ。いつの間にこんな設定になったんや!記憶にない(泣)

16進数のRGBが表示されないし、作業が進まぬ。

【解決策】環境設定を確認・変更しよう

この問題を解決するには、環境設定を確認します。

メニューバー > 編集 > 環境設定 > 一般 を選択して環境設定ウィンドウを開きます。

環境設定

環境設定ウィンドウの【カラーピッカー】という項目が「Windows」になっていました!いつの間に!!!

これを選択して「Adobe」に変更するだけです。

 

環境設定

これでカラーピッカーがWindows標準の味気ないカラーピッカーから、Adobeのカラーピッカーに戻りました。

やったー!

Adobe カラーピッカー

まとめ

ワークスペースの変更やらPhotoshopの再起動など色々試して時間を浪費してしまいました。意外とすんなり解決してスッキリ。

きっと他の設定をした時に気づかずに変更してしまったのだと思います。

勉強になりました。

【Windows】hostsファイルとは、hostsファイルの場所、hostsファイルの編集・書き換え方法

hostsファイルとは

hostsファイル ・・・ ホスツファイルと読む。

DNSより先に参照されるIPアドレスとドメイン名の一覧のこと。ただのテキストファイル。

ここにIPアドレスとドメイン名を対にして記載しておくことにより、DNSが応答しないときや、Webサイトを新サーバで構築する時などに活用できる。

hostsファイルの場所一覧(Windowsの場合)

WindowsのhostsファイルはOS毎に違うのかな。と思って一覧にしたけど同じっぽい。(Windows 10以外はネットで調べました)

●Windows 10のhostsファイル

C:\Windows\System32\drivers\etc\hosts

●Windows 8 / Windows 8.1のhostsファイル

C:\Windows\System32\drivers\etc\hosts

●Windows 7のhostsファイル

C:\Windows\System32\drivers\etc\hosts

●Windows Vistaのhostsファイル

C:\Windows\System32\drivers\etc\hosts

hostsファイルの書き方

hostsファイルをメモ帳やエディタで開き、末尾や任意の行に以下の形式でIPアドレスとホスト名の対応を記述する。

記述形式

記述例

先頭に#を入れることでコメントも使える。

補足・注意事項

hostsファイルを編集するには管理者権限が必要。

メモ帳を開く際に、【メモ帳アイコンを右クリック→管理者として実行】をしてからhostsファイルを開くと編集出来る。

詳しくはMicrosoftのナレッジベースに記載されている。

Windows Vista で Hosts ファイルや Lmhosts ファイルを変更できない
https://support.microsoft.com/ja-jp/kb/923947

Windows 10でも似たようなもんです。

書き換えてから再起動が必要になる場合もある。という記述をウェブ上にチラホラ見かけたけど、Windows 10では再起動の必要はなさそう(実体験)。

DNSより先に参照されることを忘れずに。

DNSよりも先に参照されるので、DNSの設定を変えたのに、古いサーバから新しいサーバに参照先が変わってくれない!ということが起きることもあるかと。

気をつけよう。

まとめ

hostsファイルは慎重に扱いましょう。

普段あまりhostsファイル弄らないんだけど、皆弄ること多いのかな?