ノードフォームを単純化するのが好きです。過去の私のトリックの 1 つは、ある種のデフォルトを強制したい場合に、新しいノードの作成時に CCK 要素を条件付きで非表示にすることでした。私のお気に入りのトリックの 1 つは、Prepopulateモジュールによって設定されたものをすぐに削除することです。私にとって残念なことに、最近の#after_build
ベースのメカニズムへの移行により、ウィジェットを操作する方法であらゆる種類の衝突が発生しているようです。
これは私が以前に行っていたことですhook_form_alter()
:
$form['field_my_nodereference_field'][0]['#type'] = 'hidden';
$form['field_my_nodereference_field'][0]['#value'] = $form['field_my_nodereference_field'][0]['#default_value']['nid'];
$form['field_my_nodereference_field'][0]['#parents'] = array('field_my_nodereference_field', 0, 'nid');
しかし、このゲームを でプレイしようとする#after_build
と、hidden
型の検証、つまりnodereference_autocomplete_validation
. 条件付きで CSS ファイルを追加することに頼りました。これは私を悲しくさせます。