EC-CUBEのお問い合せフォームの構造?

メール送信が出来なかったので 色々調べてみた。
結論は、基本システムの設定でMAIL_BACKEND →”mail” にすればよいだけだった…orz

でも 収穫はあったので メモしておく
./contact/index.php ・・・お問い合せフォーム

実体としては page_extends/contact/LC_Page_Contact_Ex.php が動いてる。
_Ex.phpとなってるのは page_extends/contact/LC_Page_Contact.php を継承して拡張するため。なにか機能を追加したいときは、LC_Page_Contact_Ex.php に追記していく。

実行してる関数は、

$objPage->init();
$objPage->process();

の二つ。
init();は、色々初期化してるっぽい。TPLのファイル名、名前、カテゴリーを決めている。
process();は、いろいろなデータの初期化と$_POST[‘mode’]での振り分けをやってる。
prosecss()を細かく見ると

function process() {
global $objCampaignSess; //キャンペーン関連?
$conn = new SC_DBConn(); //DB接続
$this->objView = new SC_SiteView();//Smarty関連を初期化
$objCampaignSess = new SC_CampaignSession();
$objDb = new SC_Helper_DB_Ex(); //DBの基本的な関数を読み込む
$CONF = $objDb->sf_getBasisData(); // 店舗基本情報
SC_Utils_Ex::sfDomainSessionStart(); //セッション開始

$objCustomer = new SC_Customer(); //顧客情報を取得

$this->arrData = isset($_SESSION[‘customer’]) ? $_SESSION[‘customer’] : “”;

// レイアウトデザインを取得
$layout = new SC_Helper_PageLayout_Ex();
$layout->sfGetPageLayout($this, false, DEF_LAYOUT);

このような感じで進む。後は $_POST[‘mode’]のよる場合分けが進む。記入・確認・完了の三つによる場合分けは、自分で作ったフレームワークでも同じ手法だったので(どこでもありそうなやり方だけど)、つきつめると 同じようになるんだなぁと 感心した(笑)

コメント

タイトルとURLをコピーしました