バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > FormExtension で Entity を取得したい

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2019/4/8 18:48
対応状況: 解決済
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1646
FormExtension で Entity を取得したい
EC-CUBE 4.0.0

フロントページに SenderType を作成し、会員情報と紐づく形で保存しています。
 Customer
  ┣ Order
  ┗ Sender

管理画面の受注登録ページの OrderType を拡張した OrderTypeExtension を作成することで、受注登録ページに SenderType を表示しました。

OrderType フォームを作成するときに保存済みの情報を反映させたるために注文情報を取得したいのですが、OrderTypeExtension 内で OrderEntity を取得するにはどうすればよいでしょうか?

app/Customize/Form/Extension/Admin/OrderTypeExtension.php
<?php

namespace Customize\Form\Extension\Admin;

class OrderTypeExtension extends AbstractTypeExtension
{
    /**
     * {@inheritdoc}
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $Order = ???;    // ★ どうやって取得する?
        $Sender = $this->senderRepository->findOneBy(['Customer' => $Order->getCustomer()]);

        $builder
            ->add('Sender', SenderType::class, [
                'data' => $Sender,
            ])
        ;
    }

    /**
     * {@inheritdoc}
     */
    public function getExtendedType()
    {
        return OrderType::class;
    }
}


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

h_tanaka
投稿日時: 2019/4/8 20:08
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1646
Re: FormExtension で Entity を取得したい
本件、自己解決しました。

次の記述で取得できました。
$Order = $options['data'];


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

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


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
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.