バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > プラグインから独自フォームを追加したときhandleRequest後のフォームからTextTypeのデータ以外取得できない

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
mamorika
投稿日時: 2021/3/17 10:58
対応状況: −−−
新米
登録日: 2021/3/17
居住地:
投稿: 5
プラグインから独自フォームを追加したときhandleRequest後のフォームからTextTypeのデータ以外取得できない
▼テンプレート
[EC-CUBE] 4.0.5、新規インストール
[レンタルサーバ] XServer
[OS] Linux(詳細不明)
[PHP] PHP 7.2.34
[データベース] MySQL 5.7
[WEBサーバ] Apache 2.4.6
[ブラウザ] Google Chrome 89.0.4389.90
[導入プラグインの有無] Web APIプラグイン、ゼウス決済プラグイン、独自プラグイン(本件対象)
[カスタマイズの有無] 特定のカテゴリなどの中から任意の商品複数を一括でカートに入れられるような一括購入プラグインを開発しています
[現象]

独自に作ったプラグインで、新規のフォーム画面を自作のFormTypeで動作させようとしています。

フォーム画面の表示まではできたのですが、それをControllerで受けてデータ保存の処理をするためにhandleRequestをすると「TextTypeだけ取得でき、ChoiceTypeやその他のTypeは取得できない」という現象が発生しています。
全部消えるのではなく、いくつかパターンを試しましたが、TextTypeだけは複数個でも取得でき、ChoceType以外のTypeも取得できません。

ソースは以下のようなものです。

/**
 * Class OrderSheetController front.
 */
class OrderSheetController extends AbstractController
{

    /**
     * @Route("/order_sheet")
     * @Template("MyPlugin/Resource/template/default/index.twig")
     */
    public function index(Request $request)
    {

      // hidden項目modeで処理切り替え
      switch ($request->get('mode')) {
          case 'confirm':
              // フォーム送信後の処理
              $form = $this->createForm(OrderSheetType::class);
              $form->handleRequest($request);

              // 入力チェック
              var_dump($request->getContent()); // リクエストで確認する限り、type_idもorder_requestも送信されているが
              var_dump($form->getData()); // handleRequestを通してフォームに設定sると、type_id(TextType)は入っているがorder_requestは配列にキーがない。

              // 登録処理
              ......

              return $this->redirectToRoute('cart');

          case default:
              // フォームの入力画面
              $form = $this->createForm(OrderSheetCopyType::class);
              $form->handleRequest($request);

              ......

              return ['form' => $form->createView()];
      }
    }

}


{% extends 'default_frame.twig' %}

{% form_theme form 'Form/form_div_layout.twig' %}

{% block main %}

<form name="order_sheet" action="" method="post">

<div class="center">
注文用紙
</div>

<!-- Controllerで設定したセレクトボックス(ChoiceType)から種類を選ぶ -->
{{ form_widget(form.type_id) }}
<!-- テキスト入力(TextType)で備考を自由入力する -->
{{ form_widget(form.order_request) }}

......(商品情報の一覧と選択)......

<div class="center">
    <input type="hidden" name="mode" value="confirm">
    <input type="submit" value="注文する">
</div>

</form>


何か使い方など単純なことを見落としているのかもしれません。
どなたがお気づきのことがありましたら、ヒントでもお知らせいただけると大変助かります。

よろしくお願いいたします。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
 » プラグインから独自フォームを追加したときhandleRequest後のフォームからTextTypeのデータ以外取得できない mamorika 2021/3/17 10:58
     Re: プラグインから独自フォームを追加したときhandleRequest後のフォームからTextTypeのデータ以外取得できない umebius 2021/3/17 22:48
       Re: プラグインから独自フォームを追加したときhandleRequest後のフォームからTextTypeのデータ以外取得できない mamorika 2021/3/17 23:03
         Re: プラグインから独自フォームを追加したときhandleRequest後のフォームからTextTypeのデータ以外取得できない umebius 2021/3/17 23:56
           Re: プラグインから独自フォームを追加したときhandleRequest後のフォームからTextTypeのデータ以外取得できない mamorika 2021/3/18 0:23
             Re: プラグインから独自フォームを追加したときhandleRequest後のフォームからTextTypeのデータ以外取得できない umebius 2021/3/18 11:48
               Re: プラグインから独自フォームを追加したときhandleRequest後のフォームからTextTypeのデータ以外取得できない mamorika 2021/3/18 13:04

 



ログイン


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

統計情報

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

投稿数ランキング

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