バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

プラグイン > 開発について > createForm時に設定したデフォルト値に対してhandleRequestした際に、From内の差分のみを更新したい

開発について

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
fkenshirou
投稿日時: 2020/8/21 18:24
対応状況: 開発中
新米
登録日: 2020/8/21
居住地:
投稿: 2
createForm時に設定したデフォルト値に対してhandleRequestした際に、From内の差分のみを更新したい
▼テンプレート
[EC-CUBE] 4.0.4
[導入プラグインの有無] プラグインの開発中
[カスタマイズの有無] プラグインの開発中

[現象]
プラグインの設定ページのフォームをjavascriptによってDisableしています。
コントローラー内で下記のコードを実行した際にDisableになっているinput要素の値が、NULLになってしまいます。
$form = $this->createForm(ConfigType::class, $config);
$form->handleRequest($request);

handleRequestをする前のformからは、ConfigType内で下記のsetDefaultsでセットした値が取れるのですが、

    /**
     * ConfigType configureOptions.
     * @param OptionsResolver $resolver
     */
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => Config::class,
        ]);
    }


handleRequest後はNULLになってしまいます。

POSTに含まれるパラメーターのみを更新し、それ以外はデフォルトの値を保持するためにはどうしたらいいでしょうか?
umebius
投稿日時: 2020/8/22 23:26
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1717
Re: createForm時に設定したデフォルト値に対してhandleRequestした際に、From内の差分のみを更新したい
状況がよくわからないですが、$requestをそのまま使うのではなく、加工したデータをsubmitするなどでしょうか?

$form->handleRequest($request);
ではなく
$data = (加工したデータ);
$form->submit($data);

あるいはそもそもフォームにその項目を含まなければ更新されないですね。removeで取り除いておくこともできますが。
$form->remove($削除する項目);


----------------
EC-CUBE4系 カスタマイズ ECのプロがシステム特急案件承ります。
EC-CUBE開発 リモートで働くエンジニア募集中

fkenshirou
投稿日時: 2020/8/26 10:41
対応状況: −−−
新米
登録日: 2020/8/21
居住地:
投稿: 2
Re: createForm時に設定したデフォルト値に対してhandleRequestした際に、From内の差分のみを更新したい
解決方法をご教授いただき、ありがとうございます!

送信前に加工したり、取り除く形で実装しました。
タイミングはformType内でのeventを利用しました。

とても助かりました!
ありがとうございます!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

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

統計情報

総メンバー数は65,913名です
総投稿数は98,046件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2597
4
nanasess
2101
5
umebius
1717
6
yuh
1612
7
red
1422
8
h_tanaka
1038
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.