バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 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公式 Amazon Payプラグイン

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.