バージョン選択

フォーラム

メニュー

オンライン状況

60 人のユーザが現在オンラインです。 (46 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 59
NSX-R もっと...

サイト内検索

質問 > 管理機能 > 受注マスタの受注情報を編集する際に、数量を制限したい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
foolish
投稿日時: 2018/4/12 13:24
対応状況: −−−
新米
登録日: 2018/3/30
居住地:
投稿: 7
受注マスタの受注情報を編集する際に、数量を制限したい
[EC-CUBE]3.0.15
[OS]Linux
[PHP]5.6.33
[データベース]PostgreSQL 8.4.20
[WEBサーバ]Apache
[ブラウザ]Chrome Safari

ECCUBE管理画面の受注マスタから受注情報の編集をする際に、例えば 商品A数量4,商品B数量2,商品C数量5という注文情報があり、特定の商品(例えばB)の数量を4以下にして更新しようとすると、「商品の最低数量は5です」とメッセージを表示して更新しないようにするカスタマイズを実装したいです。

フロント側の注文時に商品Bの最低注文数は設定してありこの場合4以下の注文はできないようにはカスタマイズしてあるのですが、管理者側で間違えて4以下で編集しようとした場合の対策として必要です。

例えばjQueryのセレクタ等でそのページの注文数などを制限できるのでしょうか?

この場合、どのように修正したら良いでしょうか。
もし何か分かる方がいれば、教えて頂けませんでしょうか。
よろしくお願いします。
matchbou
投稿日時: 2018/4/12 16:45
対応状況: −−−
一人前
登録日: 2018/3/19
居住地:
投稿: 130
Re: 受注マスタの受注情報を編集する際に、数量を制限したい
jQueryで『数量を4以下にして更新しようとすると、「商品の最低数量は5です」とメッセージを表示して更新しないようにする』対応を行う場合、2パターンあるかと思います。

・数量に4以下が入力された時点でメッセージを出すのであれば、数量のspanタグに「onChange="[jqueryの関数名]({{ loop.index0 }})"」を追加し、jqueryの関数内で引数値よりproduct_class_idを取得し、対象のproduct_class_idの数量が4以下の場合にalertを出すといったことが可能です。ただ、この場合、form自体は効いてしまうので、$('#order_OrderDetails_[引数値]_quantity').val(5)などセットして、数量を強制的に5以上にする必要があるかと思います。

・更新しないようにする、要は「受注情報を登録」ボタンを押下した時にメッセージを出し、formをキャンセルするのであれば、「受注情報を登録」ボタンにIDか「onClick="[jqueryの関数名]()"」を追加し、for文で対象のproduct_class_idを検索し、対象のproduct_class_idの数量が4以下の場合にalertを出し、formをキャンセルするといった処理になるかと思います。


----------------
アイフォーコム株式会社
お問い合わせ URL:https://www.iforcom.jp/ec/
tel:045-412-3010
EC-CUBEの構築・カスタマイズは有償で承ります。ご相談下さい

foolish
投稿日時: 2018/4/13 14:02
対応状況: −−−
新米
登録日: 2018/3/30
居住地:
投稿: 7
Re: 受注マスタの受注情報を編集する際に、数量を制限したい
ご回答ありがとうございます。
後者の方法の場合の、
>for文で対象のproduct_class_idを検索し
この部分が分からないのですが、特定の商品をどのように取得したらいいのでしょうか?
もし可能であれば、このあたりの書き方や配列の構造などをもう少し詳しく教えて頂けませんでしょうか。。
お手数をおかけしますが、よろしくお願いします。
matchbou
投稿日時: 2018/4/13 14:39
対応状況: −−−
一人前
登録日: 2018/3/19
居住地:
投稿: 130
Re: 受注マスタの受注情報を編集する際に、数量を制限したい
開発者モードなので確認していただけるとお分かりになるかと思いますが、各商品でhidden値が設定されていますよね?
order_OrderDetails_xx_Product~order_OrderDetails_xx_tax_ruleまでの値です。その中でorder_OrderDetails_xx_ProductClassの値がproduct_class_idになります。
後者の場合、for文で最大商品数分の処理を繰り返し、
if($('order_OrderDetails_'+[for文のインクリメント値]+'_ProductClass').vai() == 10){
    alert('product_class_idが10の時の処理');
}

とすれば、特定の商品の時の処理ができるかと思います。数値の判断はこのif文内ですね。
最大商品数の取得に関しては色々な方法があると思うので、お好きな方法で取得してもらえればと思います。


----------------
アイフォーコム株式会社
お問い合わせ URL:https://www.iforcom.jp/ec/
tel:045-412-3010
EC-CUBEの構築・カスタマイズは有償で承ります。ご相談下さい

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

統計情報

総メンバー数は33,204名です
総投稿数は87,771件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1790
4
yuh
1515
5
468
1271
6
red
1178
7
umebius
1007
8
fukap
907
9
shutta
827
10
tsuji
815
11 ramrun 789
12
tao_s
664
13 karin 656
14 sumida 641
15
homan
633
16 DELIGHT 571
17
h_tanaka
571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© LOCKON CO.,LTD. All Rights Reserved.