バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 管理画面の受注管理に配達希望日の表示

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
zerocre
投稿日時: 2013/7/17 21:06
対応状況: 確認中
半人前
登録日: 2013/6/21
居住地: Tokyo
投稿: 15
管理画面の受注管理に配達希望日の表示
----------------------------------
EC-CUBE 2.14.x
サーバーOS FreeBSD 7.1-RELEASE-p16 i386
DBサーバー MySQL 5.5
WEBサーバー Apache/1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e
PHP 5.2.17
----------------------------------
平素よりお世話になっております。

現在、管理画面の受注管理より一覧を見た際に配達希望日の指定があるお客様は一覧画面で確認が出来るようカスタマイズを行っております。

しかし、以下の私が行った方法ですとshipping_dateがorder_idの最初のお客様から順番に配置されてしまい、ずれてしまいます。
order_idの読み込み(?)が出来ていないため、loopに紐付けが出来ていないのが原因かと思われます。
説明の仕方が難しく、上記の説明でお伝えできていればいいのですが…。

私が追加したソースは以下となっております。

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

function action() {のすぐ下に以下コードを挿入

        // dtb_shipping shipping_dateの取得
        $this->shipping_date = $this->lfGetShippingDate();



function destroy() {のデストラクタが終わった下に以下コードを挿入

    function lfGetShippingDate() {
    	// データベースクラス作成
        $objQuery =& SC_Query_Ex::getSingletonInstance();
        // SQL文作成
        $cols = 'shipping_date';
        $from = 'dtb_shipping';
        // SQL実行
        $this->arrDate = $objQuery->select($cols, $from);
    }




/data/Smarty/templates/admin/order/index.tpl
注文者名を表示している箇所に赤字で追加

<!--{if $arrDate[cnt].shipping_date >= 1}-->
<font color="#FF0000">配達指定日:<!--{$arrData[cnt].shipping_date}--></font>
<!--{/if}-->


すると、注文者名の左に配達指定日が挿入されるのですが、一番最初からカウントされてしまっているため、全く別の注文者の配達指定日が挿入されてしまったりしてしまいます。

どなたか、ご教授頂けましたら幸いです。
yuh
投稿日時: 2013/7/18 2:14
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 管理画面の受注管理に配達希望日の表示

    function lfGetShippingDate() {
    	// データベースクラス作成
        $objQuery =& SC_Query_Ex::getSingletonInstance();
        // SQL文作成
        $cols = 'shipping_date';
        $from = 'dtb_shipping';
        // SQL実行
        $this->arrDate = $objQuery->select($cols, $from);
    }

この部分がorder_idで絞り込んでないのですべてのデータが出る事になります。
order_idで絞り込んでください。
zerocre
投稿日時: 2013/7/18 10:18
対応状況: −−−
半人前
登録日: 2013/6/21
居住地: Tokyo
投稿: 15
Re: 管理画面の受注管理に配達希望日の表示
whareを使い、絞り込むのでしょうか?
PHP,SQLの絞り込みなどの記述方法が分からず、お手数ですがご教授いただけないでしょうか・・・?
zerocre
投稿日時: 2013/7/18 13:38
対応状況: −−−
半人前
登録日: 2013/6/21
居住地: Tokyo
投稿: 15
Re: 管理画面の受注管理に配達希望日の表示
色々と調べましたが、arrResultsでloopされている中にarrDateとarrResultsのorder_idを紐付けて表示する方法が分からなかったので、以下方法でdtb_orderとdtb_order_tempに同時にお届け日時と時間指定の格納が行われるようにしました。

どこか問題が起きそうな気もしますが、今の所問題が無さそうでしたが…このような方法を取る事により他の問題が発生してしまう懸念が御座いましたらご指摘頂きたいです。

data/class/pages/shopping/LC_Page_Shopping_Payment.php
function lfInitParamに以下を追加

        $objFormParam->addParam('deliv_date0', 'deliv_date0', LTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK'));
        $objFormParam->addParam('deliv_time_id0', 'deliv_time_id0', LTEXT_LEN, 'KVa', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK'));


データベースのdtb_orderとdtb_order_tempにに新しいカラムのdeliv_date0とdeliv_time_id0を追加。

こうすると、お届け日時と時間を指定した場合、dtb_orderとdtb_order_tempに日時と時間が格納され、さらにdtb_shippingにもお届け日時と時間が格納されました。

あとは、受注管理のindex.htmlに

<!--{$arrResults[cnt].deliv_date0}-->
<!--{$arrResults[cnt].deliv_time0}-->

を追記し、dtb_orderのdeliv_date0とdeliv_time0を表示させました。

無理矢理DBに格納しているような気もしますが…このような方法で問題ないのでしょうか…?
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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.