バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 有料包装紙を選択できるようにしたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
d.j
投稿日時: 2019/4/18 15:24
対応状況: 開発中
新米
登録日: 2019/4/18
居住地:
投稿: 3
有料包装紙を選択できるようにしたい
[EC-CUBE] EC-CUBE4.0.2
[レンタルサーバ] XSERVER
[PHP] PHP7.2.6
[データベース] MySQL、5.7.16

この度はじめてEC-CUBEでの開発を行っておりますが、ギフトオプション機能を追加するにあたり壁にぶち当たっています。

実現したいことは、(すべての商品において、すべての商品共通で)包装紙(有料のものも有り)を多数ある中から購入者に選択させるというものです。

商品をカートに入れる時点では、「包装=無し」として登録し、カート画面に追加した、「包装紙選択」ボタンから別ページに移動し好きな包装紙を選択してもらい、再度カート画面に戻るようにしたいのです。

・CartItemをtraitを使用して項目追加し、CartServiceを修正して包装紙の情報がCartItemの追加項目に登録されるようにしました。またCartItemのpriceに包装紙の金額が加算されるようにしました。
・CartItemComparatorを新規作成し、同じ商品でも包装紙が異なるならカートの別明細として登録されるようにしました。
・商品の金額とCartItemの金額が異なってもエラーとならないように/app/config/eccube/packages/purchaseflow.yamlから@Eccube\Service\PurchaseFlow\Processor\PriceChangeValidatorを削除しました。

ここまではネットの情報をいろいろ調べて実現できたのですが、CartItemからOrderItemに変換する箇所のカスタマイズが必要ではないかと考えているのですが方法が分からず、こちらで質問した次第です。

※現状では、カートまでは正しい金額が表示されますが「レジに進む」から包装紙の金額が抜けた商品のみの金額になってしまいます。

どんなことでも構いませんのでご教授いただければ幸いです。
umebius
投稿日時: 2019/4/21 11:11
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1296
Re: 有料包装紙を選択できるようにしたい
ご記載の通り、CartItemからOrderItemにデータを移さないと注文には乗せられません。

Eccube\Service\OrderHelperのcreateOrderItemsFromCartItemsメソッドあたりになります。


----------------
EC-CUBE3系4系 カスタマイズ ECのプロがシステム特急案件承ります。
公式インテグレートパートナー (株)U-Mebius

d.j
投稿日時: 2019/4/22 9:00
対応状況: −−−
新米
登録日: 2019/4/18
居住地:
投稿: 3
Re: 有料包装紙を選択できるようにしたい
umebius様返信いただきありがとうございます。

src\Eccube\Service\OrderHelperのcreateOrderItemsFromCartItemsを直接修正するということでしょうか?あるいは、そのクラスやメソッドだけ別のものを使用する方法があるのでしょうか?

当方、ECCUBEでのスタンダードな開発方法を理解しきれておらず、漠然とsrc\Eccube以下のファイルを触ると、バージョンアップ時に困ることになりそうな気がしていたのですが、カスタマイズの内容によってはsrc\Eccube以下の修正もやむなしですか?
umebius
投稿日時: 2019/4/22 9:12
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1296
Re: 有料包装紙を選択できるようにしたい
createOrderItemsFromCartItemsの処理が該当するかどうかは未確認ですが、src\Eccube以下の修正なしでは厳しいカスタマイズというのは確実に存在します。
不可能なケースもありますし、不可能ではないにしろ工数がかかりすぎるケースも多いです。

そういった場合でも、Gitで管理しておけばバージョンアップをすることになってもマージしたりはある程度楽です。

弊社は基本的にsrc内を修正してはだめというスタンスではないです。
コストや納期を下げ、カスタマイズの幅を広げられるというメリットは大きいので。

Gitでのバージョンアップは自動とはいかないものの可能です。


----------------
EC-CUBE3系4系 カスタマイズ ECのプロがシステム特急案件承ります。
公式インテグレートパートナー (株)U-Mebius

umebius
投稿日時: 2019/4/22 9:21
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1296
Re: 有料包装紙を選択できるようにしたい
もちろん、src/やapp/config/eccubeを修正するとアップデートプラグインによる自動バージョンアップはできなくなるので、ケースバイケースで対応するのが良いと思います。

ただ自動バージョンアップしたとしても、Customizeディレクトリによるコントローラー、サービスなどのロジックの上書き方法によっては、動作面での不具合が起こる可能性は排除できないですね。
d.j
投稿日時: 2019/4/22 9:23
対応状況: −−−
新米
登録日: 2019/4/18
居住地:
投稿: 3
Re: 有料包装紙を選択できるようにしたい
umebius様、返信ありがとうございます。

ご教授頂いた事柄で、何か見えてきた気がします。

実は、皆様からの返信を待っている間に、ご指摘のメソッドを修正することで、改善することは分かったのですが、本当にそのやり方が正しいのか確信が持てずにいました。本当にありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

ec-cube.co

統計情報

総メンバー数は49,519名です
総投稿数は93,190件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1967
4
468
1818
5
yuh
1602
6
red
1343
7
umebius
1296
8
fukap
907
9
h_tanaka
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
774
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.