バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

管理機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
DELIGHT
投稿日時: 2013/11/14 15:18
対応状況: −−−
仙人
登録日: 2010/2/3
居住地: 熊本県・九州・長野県・関東甲信越
投稿: 572
Re: 受注管理画面でお届け日とお届け時間を表示させたい。

[Last executed query: PREPARE mdb2_statement_mysql_34540b3e797a8ae2164dc29894c636530f78dc43fc FROM '
SELECT * FROM dtb_order, ( SELECT MIN(shipping_id) AS shipping_id, order_id FROM dtb_shipping WHERE del_flg = 0 GROUP BY order_id ) T2 LEFT JOIN dtb_shipping ON T2.shipping_id = dtb_shipping.shipping_id AND T2.order_id = dtb_shipping.order_id WHERE 

del_flg = 0 ←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←

AND dtb_order.order_id = T2.order_id ORDER BY 

update_date DESC ←←←←←←←←←←←←←←←←←←←←←←←←←←←←←

LIMIT 0, 10']


先程のエラー内容のコピーを改行したものですが、
矢印部分が$whereと$orderの内容に置き換わっていなければいけないはずです。

アップロードのし忘れやパスの間違いはありませんか?ご確認下さい。


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

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

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

確認いたしましたが、下記に変更されておりました。

$where = 'dtb_order.del_flg = 0';
$order = 'dtb_order.update_date DESC';

半角スペースも入れたのですが。

解決策はありますでしょうか?

恐れ入ります。よろしくお願いいたします。
DELIGHT
投稿日時: 2013/11/14 14:56
対応状況: −−−
仙人
登録日: 2010/2/3
居住地: 熊本県・九州・長野県・関東甲信越
投稿: 572
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
action()内の$whereと$orderを元に戻していませんか?


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

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

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

ご教授通り半角スペースを入れたのですが、システムエラーが表示されてしまいました。

ログは下記になります。


Fatal error(E_USER_ERROR): DB処理でエラーが発生しました。
SQL: [SELECT * FROM dtb_order, ( SELECT MIN(shipping_id) AS shipping_id, order_id FROM dtb_shipping WHERE del_flg = 0 GROUP BY order_id ) T2 LEFT JOIN dtb_shipping ON T2.shipping_id = dtb_shipping.shipping_id AND T2.order_id = dtb_shipping.order_id WHERE del_flg = 0 AND dtb_order.order_id = T2.order_id ORDER BY update_date DESC ]
MDB2 Error: unknown error
_doQuery: [Error message: Could not execute statement]
[Last executed query: PREPARE mdb2_statement_mysql_34540b3e797a8ae2164dc29894c636530f78dc43fc FROM 'SELECT * FROM dtb_order, ( SELECT MIN(shipping_id) AS shipping_id, order_id FROM dtb_shipping WHERE del_flg = 0 GROUP BY order_id ) T2 LEFT JOIN dtb_shipping ON T2.shipping_id = dtb_shipping.shipping_id AND T2.order_id = dtb_shipping.order_id WHERE del_flg = 0 AND dtb_order.order_id = T2.order_id ORDER BY update_date DESC LIMIT 0, 10']
[Native code: 1052]
[Native message: Column 'del_flg' in where clause is ambiguous]
on [/●/●/●/public_html/data/class/SC_Query.php(1008)] from 60.238.89.229
login_id = ●(0)[●]
/●/●/●/public_html/admin/order/index.php(34): LC_Page_Admin_Order_Ex->process
/●/●/●/public_html/data/class_extends/page_extends/admin/order/LC_Page_Admin_Order_Ex.php(56): LC_Page_Admin_Order->process
/●/●/●/public_html/data/class/pages/admin/order/LC_Page_Admin_Order.php(85): LC_Page_Admin->sendResponse
/●/●/●/public_html/data/class/pages/admin/LC_Page_Admin.php(101): SC_Helper_Plugin->doAction
/●/●/●/public_html/data/class/helper/SC_Helper_Plugin.php(115): call_user_func_array
(): SortOrderList->reCreateList
/●/●/●/public_html/data/downloads/plugin/SortOrderList/SortOrderList.php(177): LC_Page_Admin_Order->findOrders
/●/●/●/public_html/data/class/pages/admin/order/LC_Page_Admin_Order.php(472): SC_Query->select
/●/●/●/public_html/data/class/SC_Query.php(167): SC_Query->getAll
/●/●/●/public_html/data/class/SC_Query.php(279): SC_Query->prepare
/●/●/●/public_html/data/class/SC_Query.php(949): SC_Query->error
/●/●/●/public_html/data/class/SC_Query.php(1008): trigger_error

お手数おかけします。何卒よろしくお願いいたします。
DELIGHT
投稿日時: 2013/11/14 14:26
対応状況: −−−
仙人
登録日: 2010/2/3
居住地: 熊本県・九州・長野県・関東甲信越
投稿: 572
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
スペースを1つ入れ忘れていましたので、

//findOrders()内の
$where .= ' AND dtb_order.order_id = T2.order_id';
//        ↑
//ここに半角スペースを入れて下さい。


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

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

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

ご返信頂きまして誠にありがとうございます。

先ほどの内容で変更を加えたのですが、システムエラーが出てしまいました。

下記がログになります。

Fatal error(E_USER_ERROR): DB処理でエラーが発生しました。
SQL: [SELECT * FROM dtb_order, ( SELECT MIN(shipping_id) AS shipping_id, order_id FROM dtb_shipping WHERE del_flg = 0 GROUP BY order_id ) T2 LEFT JOIN dtb_shipping ON T2.shipping_id = dtb_shipping.shipping_id AND T2.order_id = dtb_shipping.order_id WHERE dtb_order.del_flg = 0AND dtb_order.order_id = T2.order_id ORDER BY dtb_order.update_date DESC ]
MDB2 Error: syntax error
_doQuery: [Error message: Could not execute statement]
[Last executed query: PREPARE mdb2_statement_mysql_327fd70e020744a095ffb1db74f3a7e174c2ca405c FROM 'SELECT * FROM dtb_order, ( SELECT MIN(shipping_id) AS shipping_id, order_id FROM dtb_shipping WHERE del_flg = 0 GROUP BY order_id ) T2 LEFT JOIN dtb_shipping ON T2.shipping_id = dtb_shipping.shipping_id AND T2.order_id = dtb_shipping.order_id WHERE dtb_order.del_flg = 0AND dtb_order.order_id = T2.order_id ORDER BY dtb_order.update_date DESC LIMIT 0, 10']
[Native code: 1064]
[Native message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'dtb_order.order_id = T2.order_id ORDER BY dtb_order.update_date DESC LIMIT 0, 1' at line 1]
on [/●/●/●/public_html/data/class/SC_Query.php(1008)] from
login_id = ●(0)[●]
/●/●/●/public_html/admin/order/index.php(34): LC_Page_Admin_Order_Ex->process
/●/●/●/public_html/data/class_extends/page_extends/admin/order/LC_Page_Admin_Order_Ex.php(56): LC_Page_Admin_Order->process
/●/●/●/public_html/data/class/pages/admin/order/LC_Page_Admin_Order.php(84): LC_Page_Admin_Order->action
/●/●/●/public_html/data/class/pages/admin/order/LC_Page_Admin_Order.php(161): LC_Page_Admin_Order->findOrders
/●/●/●/public_html/data/class/pages/admin/order/LC_Page_Admin_Order.php(472): SC_Query->select
/●/●/●/public_html/data/class/SC_Query.php(167): SC_Query->getAll
/●/●/●/public_html/data/class/SC_Query.php(279): SC_Query->prepare
/●/●/●/public_html/data/class/SC_Query.php(949): SC_Query->error
/●/●/●/public_html/data/class/SC_Query.php(1008): trigger_error

解決策はございますでしょうか?

お手数おかけします。何卒よろしくお願いいたします。
DELIGHT
投稿日時: 2013/11/14 13:50
対応状況: −−−
仙人
登録日: 2010/2/3
居住地: 熊本県・九州・長野県・関東甲信越
投稿: 572
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
そう、それでいいと思います。

index.tplに関しては好みがあるでしょうから適宜調節して下さい。


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

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

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

初めましてmetanと申します。

この度はご返信頂きまして誠にありがとうございます。

大変貴重なご意見をいただきまして誠にありがとうございます。早速検討したいと思います。

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

初めましてmetanと申します。この度はご連絡くださいまして誠にありがとうございます。

頂いた内容の変更点ですが下記で大丈夫でしょうか?

>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';


function findOrders($where, $arrValues, $limit, $offset, $order) {
$objQuery =& SC_Query_Ex::getSingletonInstance();
$objQuery->setLimitOffset($limit, $offset);
$objQuery->setOrder($order);
return $objQuery->select('*', 'dtb_order', $where, $arrValues);
}

【下記に書き換え】

function findOrders($where, $arrValues, $limit, $offset, $order) {
$objQuery =& SC_Query_Ex::getSingletonInstance();
$table = <<<EOSQL
dtb_order, (
SELECT MIN(shipping_id) AS shipping_id, order_id
FROM dtb_shipping
WHERE del_flg = 0
GROUP BY order_id
) T2
LEFT JOIN dtb_shipping
ON T2.shipping_id = dtb_shipping.shipping_id
AND T2.order_id = dtb_shipping.order_id
EOSQL;

$where .= 'AND dtb_order.order_id = T2.order_id';
$objQuery->setLimitOffset($limit, $offset);
$objQuery->setOrder($order);
return $objQuery->select('*', $table, $where, $arrValues);
}


>data/Smarty/templates/admin/order/index.tpl

<td class="center"><!--{$arrResults[cnt].commit_date|sfDispDBDate|default:"未発送"}--></td>

の下に【下記を追加】

<td class="center"><!--{$arrResults[cnt].shipping_date|sfDispDBDate|h|default:"予定日なし"}--></td>
<td class="center"><!--{$arrResults[cnt].shipping_time|h|default:"時間指定なし"}--></td>

で問題ないでしょうか?お手数おかけします。何卒よろしくお願いいたします。
DELIGHT
投稿日時: 2013/11/14 11:24
対応状況: −−−
仙人
登録日: 2010/2/3
居住地: 熊本県・九州・長野県・関東甲信越
投稿: 572
Re: 受注管理画面でお届け日とお届け時間を表示させたい。
2.12からは複数配送先機能があるため、
1受注に複数のお届け日とお届け時間が存在することになります。

解決方法考えてるうちにコードまで書いてしまったので、
今回は詳しいコードまで載せます。
以下配送先IDの最も若いものだけ表示する改修。

LC_Page_Admin_Order.php

    //action()内の変数をそれぞれ下記に変更。
    function action() {
        $where = 'dtb_order.del_flg = 0';
        $order = 'dtb_order.update_date DESC';
    }

    //findOrders()を下記に変更
    function findOrders($where, $arrValues, $limit, $offset, $order) {
        $objQuery =& SC_Query_Ex::getSingletonInstance();
        $table = <<<EOSQL
            dtb_order, (
                SELECT MIN(shipping_id) AS shipping_id, order_id
                FROM dtb_shipping
                WHERE del_flg = 0
                GROUP BY order_id
            ) T2
            LEFT JOIN dtb_shipping
                ON T2.shipping_id = dtb_shipping.shipping_id
                AND T2.order_id = dtb_shipping.order_id
EOSQL;
        
        $where .= 'AND dtb_order.order_id = T2.order_id';
        $objQuery->setLimitOffset($limit, $offset);
        $objQuery->setOrder($order);
        return $objQuery->select('*', $table, $where, $arrValues);
    }


index.tpl

<!--{* それぞれ下記のように変更 *}-->
<!--{$arrResults[cnt].shipping_date|sfDispDBDate|h|default:"予定日なし"}-->
<!--{$arrResults[cnt].shipping_time|h|default:"時間指定なし"}-->


【追記: bratech様の仰る様に、複数配送先指定は2.11の新機能のようです】


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

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

« 1 (2) 3 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,971名です
総投稿数は110,019件です

投稿数ランキング

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