バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 2.4.3 お届け日指定(配達日指定)の表示

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
che
投稿日時: 2010/2/12 18:48
対応状況: −−−
半人前
登録日: 2009/11/27
居住地:
投稿: 27
2.4.3 お届け日指定(配達日指定)の表示
------------------------------------------
EC-CUBEバージョン 2.4.3
PHP バージョン PHP 5.2.9
DBバージョン PostgreSQL 8.4.2
------------------------------------------

受注履歴編集のお届け日指定(配達日指定)がおかしいです。

2.4.3より配達日指定→お届け日指定にかわり
テキストボックスからプルダウンに変わったかと思いますが、

お届け日を指定したにもかかわらず
表示は常に「1901」年「1」月「1」日ですし、
編集して更新しても変わりません。

おそらく私の環境だけではないかと思いますが・・・
対処方法などありましたら教えていただきたいです。

ANRI
投稿日時: 2010/2/12 19:35
対応状況: −−−
新米
登録日: 2010/2/12
居住地:
投稿: 10
Re: 2.4.3 お届け日指定(配達日指定)の表示
はじめまして。

私も、2.4.3をインストールして入れてみて、同様の事象を今確認しました。

http://svn.ec-cube.net/open_trac/changeset/18478
受注管理が、こちらのトラックの部分で変更されているみたいですね。

なおし方がこれであっているか分かりませんが、修正してみました。

data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php
383行目付近

$this->objFormParam->addParam("お届け日", "deliv_date", STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));



$this->objFormParam->addParam("お届け日", "deliv_date", STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK")); 
$this->objFormParam->addParam("お届け日(年)", "deliv_date_year", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));  
$this->objFormParam->addParam("お届け日(月)", "deliv_date_month", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));  
$this->objFormParam->addParam("お届け日(日)", "deliv_date_day", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));  


こんな感じで修正し直すとなおりました。

ただ、こちらのチケットで修正された意図をそもそもよく分かってませんので、他で不具合が起こるかもしれません。

よろしければ、チェックくださいませ。

ANRI
投稿日時: 2010/2/12 19:42
対応状況: −−−
新米
登録日: 2010/2/12
居住地:
投稿: 10
Re: 2.4.3 お届け日指定(配達日指定)の表示
あ、やっぱり、まだなおってません。。。
大変失礼しました。

先ほどの修正だと、そもそも商品購入時の日付が反映されません。
受注管理画面で修正したものは反映されるんですが。

もう少し見てみます。
ごめんなさい。
ANRI
投稿日時: 2010/2/12 22:16
対応状況: −−−
新米
登録日: 2010/2/12
居住地:
投稿: 10
Re: 2.4.3 お届け日指定(配達日指定)の表示
三度登場しました。

というか、これは、意外と奥が深い気が。
考えてたら今までかかってしまいまいた。。。

そもそも、以下の修正において、コミュニティ版に合わせようとしているところから
どんどん深みにハマってる気がします。。。
http://svn.ec-cube.net/open_trac/changeset/18472

まあ、全てコミュニティ版になおしてしまえばいいかもしれないですが、しんどそうなので
できるだけ?最小限で修正できる方法を検討してみました。

こんな修正でどうでしょうか?

data/class/pages/shopping/LC_Page_Shopping_Payment.php
(そもそも日付の年を4桁にしないことには始まらない。)
557行目

list($y, $m, $d, $w) = split(" ", date("y m d w", $tmp_time));



list($y, $m, $d, $w) = split(" ", date("Y m d w", $tmp_time));


その上で、受注編集を修正。

data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php
383行目付近

$this->objFormParam->addParam("お届け日", "deliv_date", STEXT_LEN, "KVa", array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));



$this->objFormParam->addParam("お届け日(年)", "deliv_date_year", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));  
$this->objFormParam->addParam("お届け日(月)", "deliv_date_month", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));  
$this->objFormParam->addParam("お届け日(日)", "deliv_date_day", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));


427行目付近
(ハイフン「-」はコミュニティ版の仕様か??)

$delivDate = split("-", $delivDate[0]);



$delivDate = split("/", $delivDate[0]);


430行目付近
(フロントから入力された「曜日」はこの際、削除。)

$this->objFormParam->setValue('deliv_date_day', isset($delivDate[2]) ? $delivDate[2] : "");



$this->objFormParam->setValue('deliv_date_day', isset($delivDate[2]) ? substr($delivDate[2],0,2) : "");


560行目付近
(同じくハイフン「-」の部分を修正)

$sqlval['deliv_date'] = $sqlval['deliv_date_year'] . '-' . $sqlval['deliv_date_month'] . '-' . $sqlval['deliv_date_day'];



$sqlval['deliv_date'] = $sqlval['deliv_date_year'] . '/' . $sqlval['deliv_date_month'] . '/' . $sqlval['deliv_date_day'];


430行目付近は少し強引な気もしますが、どうもこれ以上は奥深そうだし、
そこそこ動いてるっぽいので概ね自分はこれで満足であります。

もしよろしければ、どなたかご確認お願いします<(_ _)>
kato
投稿日時: 2010/5/9 20:50
対応状況: −−−
常連
登録日: 2010/2/1
居住地:
投稿: 60
Re: 2.4.3 お届け日指定(配達日指定)の表示
ANRI様の方法を確認しました。

★結果になります。

2010年5月12日のお客様⇒


「西暦」が反映されないようです。
「月」「日」は問題御座いませんでした。

あと少しの様な気がするのですが、何処を変更すればいいのか。。。

宜しければココでは?って所をご指示頂ければ幸いです。


宜しくお願いします。


確認状況
--------------------------------
EC-CUBEバージョン 2.4.3
PHPバージョン PHP 5.2.5
DBバージョン PostgreSQL 8.2.4
サーバ コアサーバ
--------------------------------
nanasess
投稿日時: 2010/6/3 18:29
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2303
Re: 2.4.3 お届け日指定(配達日指定)の表示
本件の修正をコミットしました.

下記のような感じでプルダウンに反映させています.


            if (!empty($arrRet[0]["deliv_date"])) {
                // 曜日を削除
                $delivDate = mb_strcut($arrRet[0]["deliv_date"], 0, 8);
                // 年月日を分割
                $delivDate = split("/", $delivDate);
                // タイムスタンプを取得
                $ts = mktime(0, 0, 0, $delivDate[1], $delivDate[2], $delivDate[0]);
                // 年月日をフォームに設定
                $this->objFormParam->setValue('deliv_date_year', date("Y", $ts));
                $this->objFormParam->setValue('deliv_date_month', date("n", $ts));
                $this->objFormParam->setValue('deliv_date_day', date("j", $ts));
            }


# mktime() 関数は, 2桁の年も扱えるので便利ですね.

2.4.4 にて反映予定です.
http://svn.ec-cube.net/open_trac/changeset/18670
tokyop
投稿日時: 2010/6/8 14:04
対応状況: −−−
新米
登録日: 2009/10/15
居住地:
投稿: 7
Re: 2.4.3 お届け日指定(配達日指定)の表示
2.4.3の該当箇所のコードを変更してみました。

日付の変更は反映されますが、お届け指定日を外す場合(----年--月--日)は変更前の日付がセットされて反映しません。

また、年指定のドロップダウンボックスで【----】のソート順がおそらくですが、当年のすぐ下に表示されます。

コードを見ていきたいと思いますが、ご報告まで。
nanasess
投稿日時: 2010/6/8 16:59
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2303
Re: 2.4.3 お届け日指定(配達日指定)の表示
引用:

tokyopさんは書きました:

日付の変更は反映されますが、お届け指定日を外す場合(----年--月--日)は変更前の日付がセットされて反映しません。


ありがとうございます. 空の日付でも登録できるよう修正しました.
http://svn.ec-cube.net/open_trac/changeset/18678
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,284名です
総投稿数は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.