バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 受注管理画面でお届け日とお届け時間を表示させたい。

管理機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
320320
投稿日時: 2017/2/10 13:52
対応状況: −−−
半人前
登録日: 2016/5/26
居住地:
投稿: 21
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
原因はプラグインにありました。
プラグイン内のdtb.orderの指定を外すことでエラーに対応することができました。

エラーはでなくなったのですが、期待してた動作をすることができませんでした。。。
468
投稿日時: 2017/2/2 15:48
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
エラーが出ているSQLをよく見ると、「plg_col_slip_on」という文言がありますので、
導入されたプラグインが、action()内の$where, $orderの変数を参照しているようです。

action()内の$where, $order変数は残しつつ、function findOrders()に渡す変更を作られては如何でしょうか?

あと、気になったのですが、このスレッドのfindOrders()へのカスタマイズは、
findOrders()内のSQLを改変し、その時に絞込み条件や並び順をきちんと指定する為に
$where, $orderにテーブル名を追記する形で記載されておりますが、
検索条件を追記した場合の事を考えると、buildQuery()の記述にもテーブル名の指定をする必要がありそうな気がします。

とりあえず、原因はプラグインにありそうですので、一度、ご確認ください。
(そのプラグインが何なのかは分からないですが)


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

320320
投稿日時: 2017/2/2 14:35
対応状況: −−−
半人前
登録日: 2016/5/26
居住地:
投稿: 21
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
468様

返信ありがとうございます。遅くなり申し訳ございません。
「dtb_order.」不要なのかなと思い、カスタマイズ前に戻すと期待される動作をしませんでした。ということは他に原因があるということでしょうか?

468
投稿日時: 2017/1/31 15:06
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
ソースコードを見ていないので何とも言えませんが、
エラーメッセージのSQLを見る限りでは、
変数に渡す「dtb_order.」が不要なのでは無いでしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

320320
投稿日時: 2017/1/31 13:10
対応状況: −−−
半人前
登録日: 2016/5/26
居住地:
投稿: 21
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
468様
返信ありがとうございます。
引用:

>data/class/pages/admin/order/LC_Page_Admin_Order.php

$where = 'del_flg = 0';

【下記に変更】

$where = 'dtb_order.del_flg = 0';


$order = 'update_date DESC';

【下記に変更】

$order = 'dtb_order.update_date DESC';


の記述をコピペしてるんですが、この記述だと誤りがあるということでしょうか?
468
投稿日時: 2017/1/31 12:51
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
エラーメッセージ内のSQLのwhere句とorder句のテーブルの指定が2重になっているようです。

WHERE dtb_order.dtb_order.del_flg = 0 ORDER BY dtb_order.dtb_order.update_date DESC
※dtb_orderが2回指定されています。

カスタマイズされた記述が誤ってると思いますので、一度、ご確認されてみては如何でしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

320320
投稿日時: 2017/1/31 10:08
対応状況: −−−
半人前
登録日: 2016/5/26
居住地:
投稿: 21
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
同様のスレッドがありましたので、こちらで質問させていただきます。

[EC-CUBE]ECCUBE  2.13.5 
[レンタルサーバ] さくら
[OS] ウインドウズ10 ホーム64ビット
[PHP] PHP 5.6
[データベース] MySQL 5.5
[WEBサーバ] さくらのレンタルサーバ スタンダード
[ブラウザ] Google Chrome
[導入プラグインの有無] あり
[カスタマイズの有無] あり


過去ログにあります方法を試してみたのですが、
エラーがでてしまいます。
下記がログになります。

Fatal error(E_USER_ERROR): DB処理でエラーが発生しました。
SQL: [SELECT *,CASE WHEN EXISTS (SELECT 1 FROM dtb_order i INNER JOIN dtb_shipping USING(order_id) WHERE i.order_id = dtb_order.order_id AND plg_yfcapi_deliv_slip IS NULL) THEN 0 ELSE 1 END AS plg_col_slip_on FROM dtb_order WHERE dtb_order.dtb_order.del_flg = 0 ORDER BY dtb_order.dtb_order.update_date DESC ]
MDB2 Error: no such field
_doQuery: [Error message: Could not execute statement]
[Last executed query: PREPARE mdb2_statement_mysql_32044603701927e8ab7180541b5b23a128e57a3af0 FROM 'SELECT *,CASE WHEN EXISTS (SELECT 1 FROM dtb_order i INNER JOIN dtb_shipping USING(order_id) WHERE i.order_id = dtb_order.order_id AND plg_yfcapi_deliv_slip IS NULL) THEN 0 ELSE 1 END AS plg_col_slip_on FROM dtb_order WHERE dtb_order.dtb_order.del_flg = 0 ORDER BY dtb_order.dtb_order.update_date DESC LIMIT 0, 10']
[Native code: 1054]
[Native message: Unknown column 'dtb_order.dtb_order.del_flg' in 'where clause']
on [/●/●/●/data/class/SC_Query.php(1095)]
/●/●/●/●/order/index.php(29): LC_Page_Admin_Order_Ex->process
/●/●/●/data/class_extends/page_extends/admin/order/LC_Page_Admin_Order_Ex.php(57): LC_Page_Admin_Order->process
/●/●/●/data/class/pages/admin/order/LC_Page_Admin_Order.php(82): LC_Page_Admin_Order->action
/●/●/●/data/class/pages/admin/order/LC_Page_Admin_Order.php(166): LC_Page_Admin_Order_Ex->findOrders
/●/●/●/data/class_extends/page_extends/admin/order/LC_Page_Admin_Order_Ex.php(263): SC_Query->select
/●/●/●/data/class/SC_Query.php(176): SC_Query->getAll
/●/●/●/data/class/SC_Query.php(304): SC_Query->prepare
/●/●/●/data/class/SC_Query.php(1024): SC_Query->error
/●/●/●/data/class/SC_Query.php(1095): trigger_error


どなたか解決策がわかる方はいらっしゃらないでしょうか。
何卒よろしくお願いいたします。
metan
投稿日時: 2013/11/14 17:51
対応状況: 解決済
一人前
登録日: 2013/3/4
居住地:
投稿: 112
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
DELIGHT様

ご返信頂きまして誠にありがとうございました。該当のプラグインを無効にしましたらエラーが出なくなり、無事にお届け日も表示されております。

この度は、お忙しい中誠にありがとうござました。
DELIGHT
投稿日時: 2013/11/14 15:51
対応状況: −−−
仙人
登録日: 2010/2/3
居住地: 熊本県・九州・長野県・関東甲信越
投稿: 572
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
エラーログを精査したところ、プラグイン内でエラーが起きているようなので、
/●/●/●/public_html/data/downloads/plugin/SortOrderList/SortOrderList.php内に
$where = 'del_flg = 0';
$order = 'update_date DESC';
となっている部分があったら修正すると動くかもしれません。
が、プラグインの中身の変更は自己責任でお願いします。


----------------
+ DAISY inc. -------------------- +
EC-CUBE構築・カスタマイズサービス
EC・WEB構築などお気軽にご相談ください。

デイジー株式会社
http://daisy.link/

metan
投稿日時: 2013/11/14 15:26
対応状況: −−−
一人前
登録日: 2013/3/4
居住地:
投稿: 112
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
DELIGHT様

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

下記のコードですが、現在アップロードされているコードをコピーいたしました。

何か間違いはございますでしょうか?


// 検索パラメーターの生成
case 'search':
$objFormParam->convParam();
$objFormParam->trimParam();
$this->arrErr =

$this->lfCheckError($objFormParam);
$arrParam = $objFormParam->getHashArray();

if (count($this->arrErr) == 0) {
$where = 'dtb_order.del_flg = 0';
$arrWhereVal = array();
foreach ($arrParam as $key => $val) {
if ($val == '') {
continue;
}
$this->buildQuery($key, $where, $arrWhereVal, $objFormParam);
}

$order = 'dtb_order.update_date DESC';

お手数おかけします。何卒よろしくお願いいたします。
(1) 2 3 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1644
8
red
1570
9
mcontact
1289
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.