バージョン選択

フォーラム

メニュー

オンライン状況

49 人のユーザが現在オンラインです。 (37 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 49
もっと...

サイト内検索

質問 > 管理機能 > 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 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,823名です
総投稿数は109,982件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1290
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.