質問 > フロント機能 > 有料包装紙を選択できるようにしたい |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
d.j |
投稿日時: 2019/4/22 9:23
対応状況: −−−
|
新米 登録日: 2019/4/18 居住地: 投稿: 3 |
Re: 有料包装紙を選択できるようにしたい umebius様、返信ありがとうございます。
ご教授頂いた事柄で、何か見えてきた気がします。 実は、皆様からの返信を待っている間に、ご指摘のメソッドを修正することで、改善することは分かったのですが、本当にそのやり方が正しいのか確信が持てずにいました。本当にありがとうございました。 |
umebius |
投稿日時: 2019/4/22 9:21
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 有料包装紙を選択できるようにしたい もちろん、src/やapp/config/eccubeを修正するとアップデートプラグインによる自動バージョンアップはできなくなるので、ケースバイケースで対応するのが良いと思います。
ただ自動バージョンアップしたとしても、Customizeディレクトリによるコントローラー、サービスなどのロジックの上書き方法によっては、動作面での不具合が起こる可能性は排除できないですね。 |
umebius |
投稿日時: 2019/4/22 9:12
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 有料包装紙を選択できるようにしたい createOrderItemsFromCartItemsの処理が該当するかどうかは未確認ですが、src\Eccube以下の修正なしでは厳しいカスタマイズというのは確実に存在します。
不可能なケースもありますし、不可能ではないにしろ工数がかかりすぎるケースも多いです。 そういった場合でも、Gitで管理しておけばバージョンアップをすることになってもマージしたりはある程度楽です。 弊社は基本的にsrc内を修正してはだめというスタンスではないです。 コストや納期を下げ、カスタマイズの幅を広げられるというメリットは大きいので。 Gitでのバージョンアップは自動とはいかないものの可能です。
|
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/21 11:11
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 有料包装紙を選択できるようにしたい ご記載の通り、CartItemからOrderItemにデータを移さないと注文には乗せられません。
Eccube\Service\OrderHelperのcreateOrderItemsFromCartItemsメソッドあたりになります。
|
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に変換する箇所のカスタマイズが必要ではないかと考えているのですが方法が分からず、こちらで質問した次第です。 ※現状では、カートまでは正しい金額が表示されますが「レジに進む」から包装紙の金額が抜けた商品のみの金額になってしまいます。 どんなことでも構いませんのでご教授いただければ幸いです。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |