バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
shiftbank
投稿日時: 2020/10/16 16:26
対応状況: −−−
新米
登録日: 2018/6/29
居住地:
投稿: 10
受注情報に独自の情報を追加したい。
▼テンプレート
[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
居住地:
投稿: 3217
Re: 受注情報に独自の情報を追加したい。
Orderにparent_customer_idが追加出来ているのであれば
OrderItemsへの情報追加は不要なのではないでしょうか?
(1度の注文で複数の親会員を参照するような場合がありますか?)


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

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

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

「ご注文手続き」画面にて、お支払い方法のラジオボタンを変更すると、DBが更新される処理が入るようなのですが、そのタイミングでお支払い方法によっては配送先住所を親会員のものにすると言った処理がしたいのですが、
executePurchaseFlowがその処理なのでしょうか..
中身を見ても具体的な更新処理がどこで行われているのかわからず困っております。
468
投稿日時: 2020/10/18 8:48
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
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公式 Amazon Payプラグイン

統計情報

総メンバー数は88,685名です
総投稿数は109,930件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2311
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1569
9
mcontact
1279
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.