バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > Entityで管理しない画像のアップロードチェックが上手く動きません

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
nicky
投稿日時: 2021/4/30 2:46
対応状況: −−−
新米
登録日: 2021/3/26
居住地:
投稿: 5
Entityで管理しない画像のアップロードチェックが上手く動きません
[EC-CUBE] 4.0を新規インストール
[レンタルサーバ] SAKURA VPSの最小構成
[OS] CentOS 8
[PHP] 7.3.27
[データベース] Ver 14.14 Distrib 5.7.33
[WEBサーバ] Apache/2.4.6
[ブラウザ] Google Chrome 89.0.4389.90(Official Build) (64 ビット)
[導入プラグインの有無] なし
[カスタマイズの有無] あり
[現象]
独自の画像アップロード処理を追加しようと考えています。
アップロードされた画像はWeb上で閲覧可能な場所に配置し、存在する場合は表示するようにしようと思っています。

以下、その為に実装したカスタマイズ部分です。

1.FormTypeクラス の buildForm 関数の冒頭に独自Formの追加処理を記述しました

 $builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
   $form = $event->getForm();
   $form->add('iconImage', FileType::class, [
     'multiple' => false,
     'required' => false,
     'mapped' => false,
     'constraints' => [
       new \Symfony\Component\Validator\Constraints\File([
         'mimeTypes' => [
           'image/*',
         ]
       ])
     ]
   ]);
 }


2.twigファイルの対象部分に form_widget を追加しました
  {{ form_widget(form.iconImage, { attr : { accept : 'image/*', style : 'display:none;' } }) }}


3.FormTypeクラス の buildForm 関数にて、チェック処理を追加しました(追加したつもりでした)
  $builder->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) {
    $form = $event->getForm();
    // $data = $form->getData();
    $file = $form->get('iconImage')->getData();
    if( empty($file) ){
      $form['iconImage']->addError(new FormError(trans('common.required_image')));
    }
  });


上記まで記述して実行したところ、手順3の $form->get('iconImage')->getData() で内容を取得する事が出来ず、
ファイルを設定しているにも関わらず必須エラーに引っかかってしまいます。
ファイル情報がPOSTされている事は Controller 側で $request->request->get("form")["iconImage"] の内容を確認済みです。


どこかに不備がある事は間違い無いと思いますが
まだ勉強不足の為、現在の私では原因を特定する事が中々できません。
お気づきの部分等御座いましたらご指摘を頂けると幸いです。
どうぞ宜しくお願い致します。

nicky
投稿日時: 2021/4/30 4:01
対応状況: 解決済
新米
登録日: 2021/3/26
居住地:
投稿: 5
Re: Entityで管理しない画像のアップロードチェックが上手く動きません
すみません、自己レスです。
どうやら不完全な状況でのキャッシュが居残っていたようで
キャッシュを削除、念のためhttpdを再起動で解決致しました。
あまりにもくだらない初歩的な問題で無駄なスレッドを作成してしまい、大変申し訳ございません。
今後は気を付けます。失礼いたしました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

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

統計情報

総メンバー数は71,075名です
総投稿数は100,990件です

投稿数ランキング

1
seasoft
7333
2
468
2953
3
AMUAMU
2712
4
nanasess
2139
5
umebius
1973
6
yuh
1612
7
red
1439
8
h_tanaka
1079
9
tsuji
936
10
fukap
907
11
shutta
835
12
tao_s
793
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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