バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

 > プラグイン > admin.product.edit.completeでのフォームの項目取得について

プラグイン

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ikemoto
投稿日時: 2016/3/29 7:35
対応状況: −−−
一人前
登録日: 2015/10/2
居住地:
投稿: 79
admin.product.edit.completeでのフォームの項目取得について
お世話になっております。

プラグインでadmin.product.edit.completeのイベント内で
商品登録画面で追加した「set_product_codes」という名称の項目を処理しようとしています。
(この項目は別のイベント「admin.product.edit.initialize」にてフォームビルダで特定の条件時に追加しています)


$form = $event->getArgument('form');
$pc = $form['set_product_codes']->getData();

…で値をとることはできるのですが、商品登録画面でこの項目をつけない条件もあり、そのルートを通ってきた場合「set_product_codes」の値取得箇所でエラーとなります。

$form['set_product_codes']が存在しない場合を判別できる記述などありましたらアドバイスよろしくおねがいします。

※最初、$form->getData() ですべての項目値を連想配列に入れて、そこから該当フィールド名のキーが存在するかどうかで判定しようとしたのですが、$form->getData()で取得した連想配列には、プラグインで追加した分の項目が入っていませんでした…。
tacky
投稿日時: 2016/3/29 11:04
対応状況: −−−
長老
登録日: 2015/10/3
居住地: Tokyo
投稿: 277
Re: admin.product.edit.completeでのフォームの項目取得について
if文でいけるんじゃないでしょうか。

if (($pc = $form['set_product_codes']->getData()) !== null) {
}
ikemoto
投稿日時: 2016/3/30 0:00
対応状況: 解決済
一人前
登録日: 2015/10/2
居住地:
投稿: 79
Re: admin.product.edit.completeでのフォームの項目取得について
回答ありがとうございます。

アドバイス頂いた内容でも同様にエラーになりまして、
その後も今まで長々とコード触り倒して悩んでいたのですが…
$formの内容を色々dumpしていたら
$form->has('set_product_codes')で確認できることが判明してあっさり解決しました…
簡単なことですが、気付くまで延々なやんでました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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.