質問 > 管理機能 > 2.11.4 お問い合わせ管理機能について |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
sea_gull |
投稿日時: 2011/12/7 23:06
対応状況: −−−
|
常連 登録日: 2011/3/28 居住地: 投稿: 40 |
2.11.4 お問い合わせ管理機能について 【参考サイト】
http://wiki.ec-orange2.jp/index.php?%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%EF%BC%9A%E5%BF%9C%E7%94%A8%2F%E3%81%8A%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%E6%A9%9F%E8%83%BD%20(Confirmed%20with%20Ver.2.4!) これを【2.11.4】に設置したいのですが、 「お問い合わせ内容の表示」(一覧)はなんとか出来たのですが、 「お問合わせ詳細表示」の部分でうまくかないので、教えて頂きたいのですが。 エラー: Fatal error: Class 'SC_DBConn' not found in /virtual/www/shop/data/class/pages/admin/customer/LC_Page_Admin_Customer_Contact_Detail.php on line 36 'SC_DBConn' ←このファイルは2.11.4では無くなっているようです。 ▼エラーの付近 LC_Page_Admin_Customer_Contact_Detail.php function process() { // 認証可否の判定 $objSess = new SC_Session(); SC_Utils_Ex::sfIsSuccess($objSess); $this->objQuery = new SC_Query(); $this->objConn = new SC_DBConn(); //---- 問合せ編集情報取得 if(isset($_GET["contact_id"]) && is_numeric($_GET["contact_id"])) { $contact_id = $_GET["contact_id"]; } elseif(isset($_POST["contact_id"]) && is_numeric($_POST["contact_id"])) { $contact_id = $_POST["contact_id"]; } if($contact_id) { //-- 問合せデータ取得 $sql = "SELECT * FROM dtb_contact WHERE del_flg = 0 AND contact_id = ?"; $result = $this->objConn->getAll($sql, array($contact_id)); $this->list_data = $result[0]; //既読に変更 if($this->list_data["status"] == 0 && !isset($_POST["status"])) { $this->list_data["status"] = 1; $this->lfRegiserData(array("status"=>1),array(array("column"=>"status"))); } elseif($_POST["mode"] == "confirm") { ------------------------------------------------------------------------------------------ [EC-CUBE]2.11.4 [レンタルサーバ]ファーストサーバ [OS]Linux [PHP]5.3.6 [データベース]MySQL 5.0.67 [WEBサーバ]Apache ------------------------------------------------------------------------------------------ |
ゲスト |
投稿日時: 2011/12/8 7:44
対応状況: −−−
|
Re: 2.11.4 お問い合わせ管理機能について 署名内のurl に、同じ参照先を、2.11 に適用した時の記録を
2. 「お問い合わせ管理」機能 として置いてあります。 よろしければ、参考にしてみてください。。。 |
|
sea_gull |
投稿日時: 2011/12/8 20:31
対応状況: −−−
|
常連 登録日: 2011/3/28 居住地: 投稿: 40 |
Re: 2.11.4 お問い合わせ管理機能について ご連絡ありがとうございます。
Ringo様のコードをコピーしてみたのですがエラーがでてしまいます。 自力では解決出来ませんでした。 なにか解りましたら教えて頂けるとありがたいです。 2.『data/class_extends/pages/contact/』 LC_Page_Contact_Ex.php function lfRegisterContactData($objFormParam){ $objQuery =& SC_Query_EX::getSingletonInstance(); $sqlval = $objFormParam->getDbArray(); ←■この行でエラー■ unset($sqlval['email02']); $sqlval['create_date'] = 'Now()'; $sqlval['update_date'] = 'Now()'; if(isset($this->arrData['customer_id']) && !empty($this->arrData['customer_id'])){ $sqlval['customer_id'] = $this->arrData['customer_id']; } $contact_id = $objQuery->nextVal('dtb_contact_contact_id'); $sqlval['contact_id'] = $contact_id; $objQuery->begin(); $objQuery->insert("dtb_contact", $sqlval); $objQuery->commit(); } |
ゲスト |
投稿日時: 2011/12/8 20:40
対応状況: −−−
|
Re: 2.11.4 お問い合わせ管理機能について エラーの内容を教えてください。
|
|
sea_gull |
投稿日時: 2011/12/8 20:50
対応状況: −−−
|
常連 登録日: 2011/3/28 居住地: 投稿: 40 |
Re: 2.11.4 お問い合わせ管理機能について 下記エラーになっています。
お手数をお掛けします。 PHP Fatal error: Call to a member function getDbArray() on a non-object in /virtual/www/shop/data/class/pages/contact/LC_Page_Contact.php on line 220, referer: http://www.000.net/shop/contact/? |
ゲスト |
投稿日時: 2011/12/8 21:19
対応状況: −−−
|
Re: 2.11.4 お問い合わせ管理機能について $sqlval = $objFormParam->getDbArray(); が実行される前に $objFormParam = new SC_FormParam_Ex(); が実行されてますでしょうか? エラーは、 SC_FormParam.php内の function getDbArray() に辿り着けない と言ってます。 class_extendsを使ってのオーバーライドが難しいようでしたら、 一旦事を進めるには、class内の変更対象のファイルを保存の後、 class内の変更の方が良いかも。。。 |
|
sea_gull |
投稿日時: 2011/12/8 22:27
対応状況: −−−
|
常連 登録日: 2011/3/28 居住地: 投稿: 40 |
Re: 2.11.4 お問い合わせ管理機能について 下記、変更した部分ですが、貼付場所は合っていますか?
●LC_Page_Contact_Ex.php ---------------------------------------------------- class LC_Page_Contact_Ex extends LC_Page_Contact { // }}} // {{{ functions // ●hideki-s '11.06.20 // データベースへ格納 function lfRegisterContactData($objFormParam){ $objQuery =& SC_Query_EX::getSingletonInstance(); $sqlval = $objFormParam->getDbArray(); unset($sqlval['email02']); $sqlval['create_date'] = 'Now()'; $sqlval['update_date'] = 'Now()'; if(isset($this->arrData['customer_id']) && !empty($this->arrData['customer_id'])){ $sqlval['customer_id'] = $this->arrData['customer_id']; } $contact_id = $objQuery->nextVal('dtb_contact_contact_id'); $sqlval['contact_id'] = $contact_id; $objQuery->begin(); $objQuery->insert("dtb_contact", $sqlval); $objQuery->commit(); } /** * Page を初期化する. * * @return void */ function init() { parent::init(); } ---------------------------------------------------- ●LC_Page_Contact.php ---------------------------------------------------- case 'complete': $this->lfInitParam($objFormParam); $objFormParam->setParam($_POST); $this->arrErr = $objFormParam->checkError(); $this->arrForm = $objFormParam->getFormParamList(); $this->lfRegisterContactData(); if (SC_Utils_Ex::isBlank($this->arrErr)) { $this->lfSendMail($this); // ●hideki-s '11.06.20 $this->lfRegisterContactData($objFormParam); // 完了ページへ移動する SC_Response_Ex::sendRedirect('complete.php'); exit; } else { SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR); exit; } break; default: // ●hideki-s '11.06.20' 問合せ時の雛形記入用 $this->arrData['contents'] = ""; break; } } ---------------------------------------------------- |
ゲスト |
投稿日時: 2011/12/9 7:39
対応状況: −−−
|
Re: 2.11.4 お問い合わせ管理機能について $this->lfRegisterContactData();
if (SC_Utils_Ex::isBlank($this->arrErr)) { if文の上の、引数の無い $this->lfRegisterContactData(); を削除して下さい。 |
|
sea_gull |
投稿日時: 2011/12/9 18:53
対応状況: 解決済
|
常連 登録日: 2011/3/28 居住地: 投稿: 40 |
Re: 2.11.4 お問い合わせ管理機能について 返信ありがとうございます。
消し忘れていました。。 if文の上の、引数の無い $this->lfRegisterContactData(); を削除 で無事、設置することができました。 また、以前より使いやすくなっています! ありがとうございました。 |
yosako |
投稿日時: 2011/12/10 11:38
対応状況: −−−
|
一人前 登録日: 2011/12/3 居住地: 投稿: 101 |
Re: 2.11.4 お問い合わせ管理機能について 便乗質問で済みませんが、私の場合は、エラーではなく、DBにはcontact_id, customer_id, create_date, update_date以外がすべてNullとなってしまいます。
そこで、 case 'complete': $this->lfSendMail($this); //お問い合せ内容DB格納のための追加 $this->arrFormData = $_POST; $this->lfRegisterContactData(); function lfRegisterContactData(){ $sqlval = array(); $sqlval['name01'] = $this->arrFormData['name01']; $sqlval['name02'] = $this->arrFormData['name02']; $sqlval['email'] = $this->arrFormData['email']; $sqlval['zip01'] = $this->arrFormData['zip01']; $sqlval['zip02'] = $this->arrFormData['zip02']; $sqlval['pref'] = $this->arrFormData['pref']; $sqlval['addr01'] = $this->arrFormData['addr01']; $sqlval['addr02'] = $this->arrFormData['addr02']; $sqlval['tel01'] = $this->arrFormData['tel01']; $sqlval['tel02'] = $this->arrFormData['tel02']; $sqlval['tel03'] = $this->arrFormData['tel03']; $sqlval['contents'] = $this->arrFormData['contents']; $sqlval['create_date'] = 'Now()'; $sqlval['update_date'] = 'Now()'; if(isset($this->arrData['customer_id']) AND !empty($this->arrData['customer_id'])){ $sqlval['customer_id'] = $this->arrData['customer_id']; } $objQuery = new SC_Query(); $objQuery->begin(); $objQuery->insert("dtb_contact", $sqlval); $objQuery->commit(); としたところ、すべての値が保存されるようになるのですが、どこを直せばよいのでしょうか。 なお、contact_idはAUTO_INCREMENTに設定しています。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |