毎年12月-2,3月は多忙なので、ついついご無沙汰してしまいます。
業務で作っている会社のサイトはMODxというCMSで作成しています。
商品紹介がメインなので、同様のサイトだと一般的にはECcubeなどのカートがついているCMSを使うことになると思うんですが、
このサイトのケースでは、商品データは既に社内に基となるデータベースがありますし、決済システムは今のところ必要としていません。
Web上の商品データを更新する担当の作業負担を軽減するために、そのデータベースからtxtファイルを書き出して各レコードを表示させています。
そしてサイトを見た人から各商品レコード毎の問い合わせをもらえるように、これまでは、各商品レコード毎に
mailto:xxxx@hogehoge.jp?subject=商品名
のリンクを張り、サイトを見ているPCのメーラーから、商品名がタイトルに入ったメールを送ってもらうようにしていました。
でも・・・ぜんぜんメールが来ません。
唐突に自分のメーラーが開くのが面食らうのかと思い、Web上に記入項目を限定したメールフォームを設置することを検討しました。
問題は、各商品レコードに「お問い合わせ」ボタンをつけてメールフォームを開く際、ボタン設置元の商品データをメール送信フォームに受け渡す仕組みを作れるのか?という点です。
さらに検索し、ここのページを見てみると、「assets/snippets/eform/eform.incに”$tpl = str_replace(‘を追加した」と説明が書かれています。
そのページからダウンロードしたeform.inc.phpファイルを見てみると、
$tpl = str_replace(
の行が、わかりやすいように飛び出していました。
Web上にインストールしているMODxは最新バージョンにしているので、eFormもバージョンがあり、ダウンロードしたファイルで上書きするだけだとまずいかな?と思い、Web上のMODxからeform.inc.phpをダウンロードし、上記の飛び出している1行を同じ場所に加えた後同じ場所に再アップロードして上書きました。
ダウンロードしたファイルに同梱のチャンクを参考に、各商品レコード毎のリンクを
(フォームを設置したドキュメントのURL)?info=商品名
に書き換えたら、開いたページのフォームのtextareaに商品名が入ってました!
これで商品問い合わせメールをeFormでサイト上から送信可能にできました。