フォーム配列にオブジェクトを追加する最良の方法は何ですか? [閉まっている
質問
form_alterフックがオブジェクトのフォームを尋問し、それに応じて行動できるように、フォームアレイにオブジェクトを追加する最良の方法は何ですか。
たとえば、「新しい」プロパティが追加されている可能性のあるフォームに渡すオブジェクトがあります。その後、別のモジュールのhook_form_alterを使用して、新しいプロパティに基づいてフォームアイテムを追加/変更したいと思います。
このシナリオで提出後にアイテムを利用できる必要はないので、使用のオーバーヘッドを避けたいと思いました #type = 'value'
フォームアイテムとしてオブジェクトを追加します。
解決
オブジェクト全体を値として追加する必要はありません $form
配列:該当するプロパティを追加するだけです。だから次のようなものを追加します:
$form['#mymodule_new'] = $object->new;
そして、照会します $form['#mymodule_new']
あなたの中で hook_form_alter()
実装。
追加のオーバーヘッドについて心配する必要はありません。フォーム値は設計上一時的です。送信ハンドラー中に価値について何もしないと、とにかく失われます。
所属していません drupal.stackexchange