バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 受注情報に独自の情報を追加したい。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
shiftbank
投稿日時: 2020/10/16 16:26
対応状況: −−−
新米
登録日: 2018/6/29
居住地:
投稿: 7
受注情報に独自の情報を追加したい。
▼テンプレート
[EC-CUBE] 4.0.x
[導入プラグインの有無]
おすすめ商品管理プラグイン
関連商品プラグイン
EC-CUBE PaygentPayment Plugin

[関連するカスタマイズ]
会員情報へ、他の会員情報を参照するためのカラムを追加(parent_customer_id)

[実現したいこと]
①上記 dtb_customer . parent_customer_id の値を参照して、
親会員の情報を取得。

②決済方法で「親会員を経由して購入」を選択した状態で購入完了した時、親会員の情報を記載したい。
※例: 発送先住所を親会員のものにする等

→記載したい場所は次のような箇所
 ・管理画面>受注一覧や詳細情報
 ・受注情報CSV
 ・購入時のサンクスメール

[わからないこと]
OrderItems(dtb_order_item)が受注情報かと思うのですが、そこにデータを保存する処理が具体的にどこにあるのかわかりません。

今のところ、Order(dtb_order)へはセットできています。(正直、いつの間にかセットできていたと言うレベルの理解度です。)


Orderへも、parent_customer_idカラムを追加しています。
OrderTraitの記述内容は以下です。

app/Customize/Entity/OrderTrait.php

<?php

namespace Customize\Entity;

use Doctrine\ORM\Mapping as ORM;
use Eccube\Annotation as Eccube;
use Symfony\Component\Validator\Constraints as Assert;

/**
* @Eccube\EntityExtension("Eccube\Entity\Order")
*/

trait OrderTrait
{
    /**
     * @ORM\Column(type="integer", nullable=true, length=11)
     */
    private $parent_customer_id;

    /**
     * Set parent_customer_id.
     *
     * @param integer|null $parent_customer_id
     *
     * @return Order
     */
    public function setParentCustomerId($parent_customer_id = null)
    {
        $this->parent_customer_id = $parent_customer_id;
    }

    /**
     * @return integer|null
     */
    public function getParentCustomerId()
    {
        return $this->parent_customer_id;
    }
}


CustomerTraitにも同様の処理があります。
同名のプロパティ 、メソッドを利用しているためOrderにもparent_customer_idが入るようになったのでしょうか、、、そこも少し気になります。


どなたか力をお貸しいただけないでしょうか。
よろしくお願いいたします。
468
投稿日時: 2020/10/17 11:07
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 2651
Re: 受注情報に独自の情報を追加したい。
Orderにparent_customer_idが追加出来ているのであれば
OrderItemsへの情報追加は不要なのではないでしょうか?
(1度の注文で複数の親会員を参照するような場合がありますか?)


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

shiftbank
投稿日時: 2020/10/18 0:56
対応状況: −−−
新米
登録日: 2018/6/29
居住地:
投稿: 7
Re: 受注情報に独自の情報を追加したい。
ありがとうございます。
OrderとOrderItemの関係を少し勘違いしていました。

仰る通り不要です。
ただ、実際には配送先を親会員の住所にするなどの処理を行いたいです。

「ご注文手続き」画面にて、お支払い方法のラジオボタンを変更すると、DBが更新される処理が入るようなのですが、そのタイミングでお支払い方法によっては配送先住所を親会員のものにすると言った処理がしたいのですが、
executePurchaseFlowがその処理なのでしょうか..
中身を見ても具体的な更新処理がどこで行われているのかわからず困っております。
468
投稿日時: 2020/10/18 8:48
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 2651
Re: 受注情報に独自の情報を追加したい。
注文データの支払方法の更新自体はexecutePurchaseFlowではなく
ShoppingController.phpのfunction redirectTo()の

$form = $this->createForm(OrderType::class, $Order);
$form->handleRequest($request);

でsubmitした値とOrderEntityを紐付ているのではないかと思います。

その後の
$this->entityManager->flush();
のタイミングでデータベースへ書込みが行われていると思います。

支払方法毎の手数料はexecutePurchaseFlowの一連の処理の中で計算・反映されていると思います。
/src/Eccube/Service/PurchaseFlow/以下のファイルがそれらの処理になるかと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

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


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は66,657名です
総投稿数は98,384件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2651
4
nanasess
2103
5
umebius
1753
6
yuh
1612
7
red
1424
8
h_tanaka
1045
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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