バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 配送方法、支払方法選択時と同様の再計算処理追加方法

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2017/12/22 19:53
対応状況: 解決済
配送方法、支払方法選択時と同様の再計算処理追加方法
注文内容確認画面(shopping)で、配送方法や支払方法を選択した際には送料等の再計算処理が行われるかと思います。
今回shippingテーブルに項目を追加したうえで、そこに情報を登録するための項目をShippingItemTypeのフォームに追加したのですが、その項目を選択した際にも、上記と同様の再計算処理が行われるようにしたいと考えています。

関連しそうなイベントなども見てみたのですが、どこを改修すれば良いのかが分からないため、関連する箇所を教えていただければ幸いです。

ざっくりとした質問で恐縮ですがよろしくお願いしますm(_ _)m
==========
▼テンプレート
[EC-CUBE] 3.0.10
[レンタルサーバ] - (ローカルサーバ)
[OS] OS X 10.12.6
[PHP] 7.0.0
[データベース] MySQL5.5.42
[WEBサーバ] Apache
[ブラウザ] Chrome
[導入プラグインの有無] 無
[カスタマイズの有無] 本件以外はほぼ無し
[現象] 上記
minori
投稿日時: 2017/12/25 16:48
対応状況: −−−
常連
登録日: 2017/10/12
居住地:
投稿: 40
Re: 配送方法、支払方法選択時と同様の再計算処理追加方法
配送方法や支払方法の変更時、
javascriptでsubmit処理が走るようイベントが登録されています。

Shopping/index.twig
$('.delivery').on('change', function() {
    $('#shopping-form').attr('action', '{{ url("shopping_delivery") }}').submit();
    return false;
});

$('.payment').on('change', function() {
    $('#shopping-form').attr('action', '{{ url("shopping_payment") }}').submit();
    return false;
});

実際に呼び出されるメソッドは以下です。
・shopping_delivery → \Eccube\Controller\ShoppingController::delivery
・shopping_payment → \Eccube\Controller\ShoppingController::payment

どちらもShoppingServiceの金額の再計算処理を
呼び出しているため、同様に呼び出すアクション内で
再計算処理を呼び出すように修正すればよいと思います。

ShoppingController.php
// 合計金額の再計算
$Order = $app['eccube.service.shopping']->getAmount($Order);

新しくアクションを追加するのであれば、
以下のような流れです。

1. Controllerにアクション追加
2. アクションに金額再計算呼び出し処理追加
3. ルーティング登録(FrontControllerProvider)
4. javascriptでイベント登録
ゲスト
投稿日時: 2017/12/25 21:00
対応状況: −−−
Re: 配送方法、支払方法選択時と同様の再計算処理追加方法
こういった制御はJavaScriptで行われているのですね!盲点でした・・・
フォームやコントローラーの方ばかり見ていました。

教えていただいた処理部分を変更することで、想定通りの動作をするようになりました。

前回質問に引き続き、ご丁寧にご教示いただき、本当にありがとうございます!!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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