バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 受注管理画面で送り先2以降の情報が表示されない

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yuki3777
投稿日時: 2011/5/17 19:22
対応状況: −−−
半人前
登録日: 2011/2/23
居住地:
投稿: 24
受注管理画面で送り先2以降の情報が表示されない

EC-CUBEバージョン 2.11.1 新規インストールです
PHPバージョン PHP 5.3.3
DBバージョン MySQL 5.0.77

受注管理画面で送り先2以降の情報が表示されません。
インストール時は正常に表示されているのを確認していますが
どの時点から表示されなないのかはわかりません。
管理者用の受注確認メールには正常に記載されています。

モバイルで同じ症状の書込みがありました。

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=8020&forum=9&post_id=38747#forumpost38747

以上 解決のためのアドバイスよろしくお願いします。
seasoft
投稿日時: 2011/5/18 8:46
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 受注管理画面で送り先2以降の情報が表示されない
参照先に書きましたが、当方環境ではモバイルサイトでの問題は発現しませんでした。

yuki3777 様の状況から察すると、何かトリガー(きっかけ)があるようですね。

しかし、テーブルデータを調査しないと追跡が難しそうです。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

kwhr1972
投稿日時: 2011/5/18 13:07
対応状況: −−−
一人前
登録日: 2011/4/1
居住地:
投稿: 74
Re: 受注管理画面で送り先2以降の情報が表示されない
私の方でも再現しました。

解決できていませんが、調べた結果を書いておきます。

まず、ロジック内では複数配送先のデータはちゃんと取れているようです。

どうも、テンプレート側のループの添字部分が怪しいです。
/data/Smarty/templates/admin/order/edit.tpl

お届け先のループの所ですが、

<!--{section name=shipping loop=$arrForm.shipping_quantity.value}-->
<!--{assign var=shipping_index value="`$smarty.section.shipping.index`"}-->

となっていて、ループ内の添字を<!--{$shipping_index}-->としています。

で、dtb_shipment_itemテーブルのshipping_idとずれているのでは?と、いう所まで調べました。

私の場合、dtb_shipment_itemテーブルのshipping_idが2とか3とかなのに、ループの添字は0、1、・・・となっていました。

どなたか解決をお願いしますm(__)m


seasoft
投稿日時: 2011/5/18 15:27
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 受注管理画面で送り先2以降の情報が表示されない
テーブル定義的に、怪しい予感が・・・

shipping_id と order_id って、位置が逆な気が・・・
さらに、shipping_id って命名も本当に ID なのかなぁ・・・

今更ですが・・・


で、本題ですが・・・

order_id を第1キーとして見たときに、shipping_id って、必ず「0」から始まっていませんか? うちのテスト環境のデータでは、そうなっています。

それが、「0」を飛ばして、「2」とかから始まっているとしたら、怪しいですね。なぜ、そのようなデータが生成されたのかがキーになりそうです。

しかし、section なんぞ面倒なものを使わずに foreach を使えば、問題も発生 (てか発覚?) せずに済みそうな印象もありますね。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

kwhr1972
投稿日時: 2011/5/18 16:06
対応状況: −−−
一人前
登録日: 2011/4/1
居住地:
投稿: 74
Re: 受注管理画面で送り先2以降の情報が表示されない
seasoft さん、こんにちは

少し分かってきました。

ロジックは追っていませんが、データの入り方としては、
shipping_id には、0=購入者、1以降がその他送り先っぽいです。
また、shipping_id には、dtb_other_deliv の other_deliv_id が入るっぽいです。

その為、shipping_idの入り方は、
[0]・・・購入者の配送先
[dtb_other_deliv の other_deliv_id ]・・・その他配送先

テーブル定義は怪しいですね・・・
ただ、設計そのものは大丈夫そうで、カラム名がいけないのかと。
項目名が shipping_id じゃなく、other_deliv_id なら、良かったのに。。

本題に戻りますが、
ロジック内で取得したデータの配列の添字は shipping_id を使っていて、
テンプレートでは、添字を[0]、[1]、・・・と処理しているのが原因と思います。


「追記」
再現するのには、dtb_other_deliv テーブルに複数レコードが必要です。
また、送付先には購入者の他にdtb_other_deliv の other_deliv_id が「1」じゃない人を1人選ぶこと。
seasoft
投稿日時: 2011/5/18 16:22
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 受注管理画面で送り先2以降の情報が表示されない
> また、shipping_id には、dtb_other_deliv の other_deliv_id が入るっぽいです。

ひぃーーー

【追記】
疑問が。
たしか、非会員でも、複数送り先が使えたような・・・
ちょっとした地雷原な予感が。



> テーブル定義は怪しいですね・・・
> ただ、設計そのものは大丈夫そうで、カラム名がいけないのかと。
> 項目名が shipping_id じゃなく、other_deliv_id なら、良かったのに。。

この辺り、2.11 系の終盤でドドっと実装されたので、全然ソースを査読できていなくて・・・
2.12 系までは、修正はできなそうですし・・・


本題の件。了解です。
非常に詳細な報告をありがとうございました。

2.11系 と 2.12系 に分けて、チケットを登録しようと思います。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

seasoft
投稿日時: 2011/5/18 16:54
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 受注管理画面で送り先2以降の情報が表示されない
まずは、チケットを発行しました。
http://svn.ec-cube.net/open_trac/ticket/1314
http://svn.ec-cube.net/open_trac/ticket/1315


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

kwhr1972
投稿日時: 2011/5/18 17:24
対応状況: −−−
一人前
登録日: 2011/4/1
居住地:
投稿: 74
Re: 受注管理画面で送り先2以降の情報が表示されない
非会員もやってみました。

shipping_id には、[0]、[1]、・・・と入りました。

ん??
やはり、おかしいですよね。

もしかして、最初からother_deliv_id を入れる必要が無いのか??

必要なら、テーブルは order_id, shipping_id, other_deliv_id ってなってないと・・・

よく分かりませんが、ひとまず支障なく動くようにして頂けると助かります。

対応されるコミッター様、宜しくお願い致します。
yuki3777
投稿日時: 2011/5/18 18:43
対応状況: −−−
半人前
登録日: 2011/2/23
居住地:
投稿: 24
Re: 受注管理画面で送り先2以降の情報が表示されない
皆さん活発に論議されていて頼もしい限りです。

複数の送り先登録に関してですが
複数の送り先の登録をデフォルトの数値からから50名に増やしてみました。送り先登録はできました。
一度の購入処理で50人の送り先に商品を送ってみました。
登録はできましたがご注文ありがとうメールには配送情報以下がカットされて配信されました。入力した後での確認ができません。
もし制限事項があるのであれば、それを明記しないと利用者の誤解を招くと思います。早期の2.12 系完成に期待します。
nanasess
投稿日時: 2011/5/18 21:44
対応状況: −−−
登録日: 2006/9/9
居住地:
投稿: 2313
Re: 受注管理画面で送り先2以降の情報が表示されない
複数配送まわりを担当した者です.
このあたりは難解で, 満足にドキュメントも作成できなくてすみません.

引用:

> テーブル定義は怪しいですね・・・
> ただ、設計そのものは大丈夫そうで、カラム名がいけないのかと。
> 項目名が shipping_id じゃなく、other_deliv_id なら、良かったのに。。


shipping_id は「配送先ID」であり, 以下の値が入ります.

非会員購入の場合 -> 配送先プルダウンの value 値
会員購入の場合 -> 0(会員) 又は other_deliv_id

なぜ, shipping_Id に other_deliv_id を入れているかというと, 複数配送先指定画面で, 配送先プルダウンの value 値として other_deliv_id を使用しているからです.
次の画面に遷移する際, other_deliv_id を使用して, 配送先の住所を取得する必要があります.

配送先プルダウンは連番, other_deliv_id は別途保持することも考えたのですが, 複数配送先指定画面での良い保持方法を思いつきませんでした.

管理画面のループに foreach を使用すると良いのはごもっともなのですが, 複雑すぎたので section に変更した記憶があります...

相当慎重に実装/テストしたのですが, まだ不具合を残していてすみません.
(1) 2 3 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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