バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

機能要望 > その他 > 2.11系でのレビュー通知機能について

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2012/1/20 12:43
対応状況: −−−
2.11系でのレビュー通知機能について
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=1078&forum=6

上記を参考にレビュー通知機能を実装しようと試みたのですが、商品名の取得の部分でエラーになってしまうようで、フロントのレビュー完了画面には以下のメッセージが表示されます。

Fatal error: Call to a member function get() on a non-object in /virtual/www/eccube/data/class/pages/products/LC_Page_Products_Review.php on line 115


2.11系の場合はどのように記述すれば商品名の取得が出来るのでしょうか。
宜しくお願いいたします。


--------------------------------------------------------
[EC-CUBE] 2.11.1
[レンタルサーバ] EC-CUBEクラウドサーバ
[OS] Windows 7
[PHP] PHP 5.2
[データベース] PostgreSQL
--------------------------------------------------------
nkta
投稿日時: 2012/1/20 14:15
対応状況: −−−
長老
登録日: 2011/5/20
居住地: 東京
投稿: 166
Re: 2.11系でのレビュー通知機能について
SC_Queryのインスタンスを生成せずにget()を呼んでる事が原因っぽいので
$arrForm['name'] = $objQuery->get("dtb_products", "name", "product_id = ? ", array($arrForm['product_id']));
の1行上に

$objQuery =& SC_Query_Ex::getSingletonInstance();

を入れれば解決しそうです。
ゲスト
投稿日時: 2012/1/20 14:35
対応状況: −−−
Re: 2.11系でのレビュー通知機能について
nkta様

ご返信ありがとうございます。

早速試させていただいたのですが残念ながらエラーとなってしまいました。

エラーメッセージは以下の通りでした。

▼▼▼ デバッグ情報ここから ▼▼▼

http://●●●/products/review.php??

SERVER_ADDR: 203.137.7.162
REMOTE_ADDR: 219.111.140.161
USER_AGENT: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; ja-jp) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7

/virtual/www/eccube/html/products/review.php 34:LC_Page_Products_Review_Ex->process
/virtual/www/eccube/data/class_extends/page_extends/products/LC_Page_Products_Review_Ex.php 56:LC_Page_Products_Review->process
/virtual/www/eccube/data/class/pages/products/LC_Page_Products_Review.php 76:LC_Page_Products_Review->action
/virtual/www/eccube/data/class/pages/products/LC_Page_Products_Review.php 115:SC_Query->get
/virtual/www/eccube/data/class/SC_Query.php 576:SC_Query->getOne
/virtual/www/eccube/data/class/SC_Query.php 591:SC_Query->prepare
/virtual/www/eccube/data/class/SC_Query.php 866:trigger_error
▼▼▼ エラーメッセージ ▼▼▼
https://●●●.net/products/review.php?

SERVER_ADDR: 203.137.7.162
REMOTE_ADDR: 219.111.140.161
USER_AGENT: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; ja-jp) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7

SQL: SELECT dtb_products FROM name WHERE product_id = ?    

MDB2 Error: no such table

prepare: [Error message: Unable to create prepared statement handle]
[Last executed query: COMMIT]
[Native message: ERROR:  relation "name" does not exist
LINE 1: SELECT dtb_products FROM name WHERE product_id = $1    
                                 ^]


/virtual/www/eccube/html/products/review.php 34:LC_Page_Products_Review_Ex->process
/virtual/www/eccube/data/class_extends/page_extends/products/LC_Page_Products_Review_Ex.php 56:LC_Page_Products_Review->process
/virtual/www/eccube/data/class/pages/products/LC_Page_Products_Review.php 76:LC_Page_Products_Review->action
/virtual/www/eccube/data/class/pages/products/LC_Page_Products_Review.php 115:SC_Query->get
/virtual/www/eccube/data/class/SC_Query.php 576:SC_Query->getOne
/virtual/www/eccube/data/class/SC_Query.php 591:SC_Query->prepare
/virtual/www/eccube/data/class/SC_Query.php 863:MDB2_Driver_pgsql->prepare
/virtual/www/eccube/data/module/MDB2/Driver/pgsql.php 967:MDB2_Driver_Common->raiseError
/virtual/www/eccube/data/module/MDB2.php 1497:PEAR->raiseError
/virtual/www/eccube/data/module/PEAR.php 557:MDB2_Error->MDB2_Error
/virtual/www/eccube/data/module/MDB2.php 1009:PEAR_Error->PEAR_Error
▲▲▲ エラーメッセージ ▲▲▲


▲▲▲ デバッグ情報ここまで ▲▲▲
ghana
投稿日時: 2012/1/20 17:32
対応状況: −−−
新米
登録日: 2009/10/28
居住地:
投稿: 8
Re: 2.11系でのレビュー通知機能について
$arrForm['name'] = $objQuery->get("dtb_products", "name", "product_id = ? ", array($arrForm['product_id']));


じゃなくて

$arrForm['name'] = $objQuery->get("name", "dtb_products", "product_id = ? ", array($arrForm['product_id']));


では?
ゲスト
投稿日時: 2012/1/20 17:53
対応状況: −−−
Re: 2.11系でのレビュー通知機能について
ghana様

ご返信ありがとうございます。

ご指摘いただきました通り

$arrForm['name'] = $objQuery->get("dtb_products", "name", "product_id = ? ", array($arrForm['product_id']));

↓↓↓

$arrForm['name'] = $objQuery->get("name", "dtb_products", "product_id = ? ", array($arrForm['product_id']));

に修正したところ、エラーは出なくなりました。

しかし実際に送信されたメールを確認すると、".$arrForm['name']."、".$arrForm['product_id']."の変数部分が空になってしまい、商品名が取得出来ていないようです。


nkta
投稿日時: 2012/1/20 18:35
対応状況: −−−
長老
登録日: 2011/5/20
居住地: 東京
投稿: 166
Re: 2.11系でのレビュー通知機能について
変数$arrFormが定義されてないのが原因のようです。
if(MAIL_REVIEW_FLG){
の直後の行に
$arrForm = $objFormParam->getHashArray();
と入れておけばよさそうです。




※ ついでに気付いたんですが、
if(MAIL_REVIEW_FLG){
ってバグの元になりそうですね。
if(MAIL_REVIEW_FLG === true){
としておかないと、定数MAIL_REVIEW_FLGが未定義の場合、
"MAIL_REVIEW_FLG"という文字列として判定され、true評価されてしまうと思います。
ゲスト
投稿日時: 2012/1/23 15:32
対応状況: −−−
Re: 2.11系でのレビュー通知機能について
nkta様

ご返信ありがとうございます。

ご指摘いただきました通り記述を加えましたところ、無事表示されるようになりました!
誠にありがとうございます。


少々気になったのですが、送信元のメールアドレスを変更したいのですがどこで定義されているのかおわりでしょうか?
管理画面-SHOPマスタで登録されているメールアドレスと異なっているようでして・・・


tanaca
投稿日時: 2012/2/25 7:19
対応状況: −−−
仙人
登録日: 2010/11/28
居住地: 福岡県
投稿: 332
Re: 2.11系でのレビュー通知機能について
引用:
少々気になったのですが、送信元のメールアドレスを変更したいのですがどこで定義されているのかおわりでしょうか?
管理画面-SHOPマスタで登録されているメールアドレスと異なっているようでして・・・

私の環境ではそのままだと、「anonymous@〜」で送信されてしまうので、
mb_send_mail(MAIL_REVIEW_TO, $subject, $review_msg, $mailfrom);
の上に1行下記を追加して送信者を設定しています。

$mailfrom="From:" .mb_encode_mimeheader("レビューが届きましたよ。") ."<メールアドレス>";

ご参考までに。


----------------
他社システムからEC-CUBEへの移行などお気軽にご相談ください。
福岡のホームページ制作会社 ECカンパニー
担当:田中利宏

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.