EC-CUBEの「お問い合わせ」を複製・カスタマイズして「ご相談ページ」を作ってみた。(その1)コンテンツへスキップ非エンジニアからの報告書(旧:ブログ名の設定は、まだ。)ネット社会の一粒の"地の塩"でありたい。メインメニューホームプロフィールEC-CUBEの「お問い合わせ」を複製・カスタマイズして「ご相談ページ」を作ってみた。dame3212コメントするTweet唐突ですが、EC-CUBEという通販のオープンソースのカスタマイズの話です。EC-CUBE初心者ですが、自分への備忘録と、自分のようにプログラムに詳しくない人向けに書いておきます。(もちろん自己責任でお願いします)EC-CUBEにはデフォルトで備わっている「お問い合わせ」のメールフォームがあります。このPHPやテンプレートのファイル群を複版して、別のメールフォーム(PC用)を作成してみました。お問い合わせのメールフォームをベースにしたのは、当然入力したデータをメールで飛ばすという仕組みが同じだからですが、そのファイル群を流れの順に書くと(1)ご相談入力ページのphpとテンプレート(2)入力確認のphpとテンプレート(3)ご相談完了ページのphpとテンプレート(4)ご相談メール文のテンプレートですが、その他「拡張」というようなファイルがあります。最初にやったほうがいいんじゃないの?と思ったのが、既存のお問い合わせページ用ファイルを別名保存し、その別名のまま(ソースに書かれたパスを修正して)いったんメールを飛ばしてみるといいんじゃないのってこと。それだと、すべて別名保存ファイルなので既存ファイルを上書きしないだけ、私のような初心者には安全かと思います。ファイルの複版とソースの修正をしてFTPでUPするだけでOKかというと、それだけでは動きません。そこはちょっと(DBバックアップ取るとか、詳しい人に頼むとか)慎重にしないとリスクがあります。作業手順としては、「ファイル群の複製」「ソースの初期修正」「DBに2つのページ登録」「とりあえずメールを飛ばしてみる」「相談フォームの項目の設定」「テンプレートのカスタマイズ」「メールテンプレートの登録とカスタマイズ」「最終確認(完成)」というステップです。ちなみにEC-CUBEのバージョンは、2.12.0です。私はまず自分の作業用PCのデスクトップに「ec-cube」ホルダを作り、そこにFTPで必要なファイルを集めました。下記10ファイルがそのすべてです。※index.phpのコピーデスクトップに作業用に作った「ec-cube」のホルダに、上記10ファイルを(FTPでサイトにアクセスするか、手元にバックアップがあればそこからコピーして)、サイトと同じ構造の各ホルダに入れます。入れる時か入れたあと、ファイル名をすべて書き変えます。私の場合は、集め終わったあと上記の太字の部分(_Sodanとか_soudanとかあると思いますが)にファイル名を変えました。必要な「ファイル群の複製」が済んだら、次は「ソースの初期修正」です。本格的な項目の書き換えは後回しで、まずは各ファイルのつなぎを書く感じです。テキストエディタで開き、下記の2つの行を修正(赤字部分を追加)します。テキストエディタで開き、下記の2つの行を修正(赤字部分を追加)します。LC_Page_Contact_Complete_Soudan_Ex();(3)次に、data/class_extends/page_extends/contact/LC_Page_Contact_Soudan_Ex.phpを開き、下記の2つの行を修正(赤字部分を追加)します。{(4)次に同じホルダの、data/class_extends/page_extends/contact/LC_Page_Contact_Complete_Soudan_Ex.phpを開き、下記の2つの行を修正(赤字部分を追加)します。このファイルで質問項目や必須指定等を設定するのですが、いったん後回しして、とりあえず導通のために下記の修正だけ(赤字部分を書き替えor追加)します。'contact/confirm_soudan.tpl';及び相談完了ページのテンプレートファイル名を書き変えます、SC_Response_Ex::sendRedirect('complete_soudan.php');です。(6)そして、次に同じホルダにあるdata/class/pages/contact/LC_Page_Contact_Complete_Soudan.phpを修正します。}これで、いったん「ファイル群の複製」とPHPの「ソースの初期修正」が終わったので、FTPでそれぞれのDrにUPします。名前だけ変えてまだソースを触っていないtplファイルもUPします。その際、UPしたファイルのパーミッションに注意してください。複製前のファイルと同じにしておけばOKです。次はPHPAdminを使って「DB(dtb_pagelayout)に2つのページ登録」です。(PHPAdminに慣れてない方はサーバ管理者にお願いするしかないでしょう。)データベースのdtb_pagelayoutに「相談入力ページ」と「相談完了ページ」の2つのページをDB登録します。※完了ページが既存のお問い合わせ画面と同じ(共用)であれば、完了ページは登録する必要はありません。※DBはバックアップしてから作業を。自己責任でお願いします。now()もう1つ、完了ページのDB登録です。now()これをDBに登録すれば、管理画面からカスタマイズもできるようになります。メールが飛ぶことを確認します。?「とりあえずメールを飛ばしてみる」はうまく行ったでしょうか。うまくいったと仮定して、次は新しい項目の作成をします。パンダアップデート対策になるのか不明だけど、広告の配置を変更してみた。EC-CUBEの「お問い合わせ」を複製・カスタマイズして「ご相談ページ」を作ってみた。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。常時SSL化しているサーバーを他に引っ越しする際の、事前SSL設定について(対応法)。日常生活での”条件分岐”を試してみたヒマな話。10数年ぶりにブログタイトルを変えてみました。国境なき医師団からの残念な募金DM。