スポンサードリンク

久々にECCUBEをいじったのですけど
結構忘れちゃってます。
今回お問い合わせページを追加したので
忘れないように覚書を残しておきます。
スポンサードリンク
1.既存のお問い合わせファイルをコピーしてファイルを作成
※今回は見積もりページを作ります。(名前はmitsumoriとしてます。名前は別の名前でも構いません)
見積もり問い合わせ入力ページ用
・html/contact/index.php をコピーして、html/contact/mitsumori.php を作成
・data/class_extends/page_extends/contact/LC_Page_Contact_Ex.php をコピーして、
data/class_extends/page_extends/contact/LC_Page_Contact_Mitsumori_Ex.php を作成
・data/class/pages/contact/LC_Page_Contact.php をコピーして、
data/class/pages/contact/LC_Page_Contact_Mitsumori.php を作成
・data/Smarty/templates/default/contact/index.tpl をコピーして、data/Smarty/templates/default/contact/mitsumori.tpl を作成
・data/Smarty/templates/default/contact/comfilm.tpl をコピーして、data/Smarty/templates/default/contact/mitsumori_comfilm.tpl を作成
見積もり問い合わせ完了ページ用
・html/contact/complete.php をコピーして、html/contact/mitsumori_complete.php を作成
・data/class_extends/page_extends/contact/LC_Page_Contact_Complete_Ex.php をコピーして、
data/class_extends/page_extends/contact/LC_Page_Contact_Mitsumori_Complete_Ex.php を作成
・data/class/pages/contact/LC_Page_Contact_Complete.php をコピーして、
data/class/pages/contact/LC_Page_Contact_Mitsumori_Complete.php を作成
・data/Smarty/templates/default/contact/complete.tpl をコピーして、data/Smarty/templates/default/contact/mitsumori_complete.tpl を作成
2.html/contact/にあるファイルを修正
見積もり問い合わせ入力ページ用
html/contact/mitsumori.php
// {{{ requires require_once '../require.php'; require_once CLASS_EX_REALDIR . 'page_extends/contact/LC_Page_Contact_Mitsumori_Ex.php'; // }}} // {{{ generate page $objPage = new LC_Page_Contact_Mitsumori_Ex(); register_shutdown_function(array($objPage, "destroy")); $objPage->init(); $objPage->process();
見積もり問い合わせ完了ページ用
html/contact/mitsumori_complete.php
// {{{ requires require_once '../require.php'; require_once CLASS_EX_REALDIR . 'page_extends/contact/LC_Page_Contact_Mitsumori_Complete_Ex.php'; // }}} // {{{ generate page $objPage = new LC_Page_Contact_Mitsumori_Complete_Ex(); register_shutdown_function(array($objPage, "destroy")); $objPage->init(); $objPage->process();
スポンサードリンク
3.data/class_extends/page_extends/contactにあるファイルを修正
見積もり問い合わせ入力ページ用
data/class_extends/page_extends/contact/LC_Page_Contact_Mitsumori_Ex.php
// {{{ requires require_once CLASS_REALDIR . 'pages/contact/LC_Page_Contact_Mitsumori.php'; /** * お問い合わせ のページクラス(拡張). * * LC_Page_Contact をカスタマイズする場合はこのクラスを編集する. * * @package Page * @author LOCKON CO.,LTD. * @version $Id: LC_Page_Contact_Ex.php 20764 2011-03-22 06:26:40Z nanasess $ */ class LC_Page_Contact_Mitsumori_Ex extends LC_Page_Contact_Mitsumori {
見積もり問い合わせ完了ページ用
data/class_extends/page_extends/contact/LC_Page_Contact_Mitsumori_Ex.php
// {{{ requires require_once CLASS_REALDIR . 'pages/contact/LC_Page_Contact_Mitsumoi_Complete.php'; /** * お問い合わせ(完了ページ) のページクラス(拡張). * * LC_Page_Contact_Complete をカスタマイズする場合はこのクラスを編集する. * * @package Page * @author LOCKON CO.,LTD. * @version $Id: LC_Page_Contact_Complete_Ex.php 20764 2011-03-22 06:26:40Z nanasess $ */ class LC_Page_Contact_Mitsumoi_Complete_Ex extends LC_Page_Contact_Mitsumoi_Complete {
4.data/class/pages/contact/にあるファイルを修正
見積もり問い合わせ入力ページ用
data/class/pages/contact/LC_Page_Contact_Mitsumori.php
class LC_Page_Contact_Mitsumori extends LC_Page_Ex {
次にテンプレートファイルと完了ページを指定します。
function action() { $objDb = new SC_Helper_DB_Ex(); $objFormParam = new SC_FormParam_Ex(); $this->arrData = isset($_SESSION['customer']) ? $_SESSION['customer'] : ""; switch ($this->getMode()) { case 'confirm': // エラーチェック $this->lfInitParam($objFormParam); $objFormParam->setParam($_POST); $objFormParam->convParam(); $objFormParam->toLower('email'); $objFormParam->toLower('email02'); $this->arrErr = $this->lfCheckError($objFormParam); // 入力値の取得 $this->arrForm = $objFormParam->getFormParamList(); if (SC_Utils_Ex::isBlank($this->arrErr)) { // エラー無しで完了画面 $this->tpl_mainpage = 'contact/mitumori_confirm.tpl'; $this->tpl_title = 'お見積り(確認ページ)'; } break; case 'return': $this->lfInitParam($objFormParam); $objFormParam->setParam($_POST); $this->arrForm = $objFormParam->getFormParamList(); break; case 'complete': $this->lfInitParam($objFormParam); $objFormParam->setParam($_POST); $this->arrErr = $objFormParam->checkError(); $this->arrForm = $objFormParam->getFormParamList(); if (SC_Utils_Ex::isBlank($this->arrErr)) { $this->lfSendMail($this); // 完了ページへ移動する SC_Response_Ex::sendRedirect('mitsumori_complete.php'); exit; } else { SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR); exit; } break; default: break; } }
見積もり問い合わせ完了ページ用
data/class/pages/contact/LC_Page_Contact_Mitsumori_Complete.php
class LC_Page_Contact_Mitsumori_Complete extends LC_Page_Ex {
スポンサードリンク
5.dtb_pagelayoutに作成ページを登録
見積もり問い合わせ入力ページ用
Column | Value ----------------+----------------------------- device_type_id | 10 page_id | 36 page_name | お見積り url | contact/mitsumori.php filename | contact/mitsumori header_chk | 1 footer_chk | 1 edit_flg | 2 author | description | keyword | update_url | create_date | NOW() update_date | NOW()
見積もり問い合わせ完了ページ用
Column | Value ----------------+----------------------------- device_type_id | 10 page_id | 37 page_name | お見積り完了 url | contact/mitsumori_complete.php filename | contact/mitsumori_complete header_chk | 1 footer_chk | 1 edit_flg | 2 author | description | keyword | update_url | create_date | NOW() update_date | NOW()
device_type_id は端末種類を示します。
10はPC、1はMobile、2はスマホなので、今回はPCようなので10
page_id はdevice_type_idごとの重複のない番号を使用します。
page_name はファイル名です。
url は、フロント側のURLを htmlディレクトリを除いた形で入れる。
filename は、urlに入力した値の拡張子を省いたものを入れる。
edit_flgは2に設定しておくと、
管理画面から削除することができなくなります。
これで、ページを作成できました。
あとはULにアクセスしてページが表示されるかを確認します。
メールフォームはデフォルトのままなので
メールフォームの変更については後日記載します。
スポンサードリンク