Wie verstecke ich ein CCK-Nodereferenz-Eingabe-Widget in #after_build?

Ich mag es, die Knotenform zu vereinfachen. In der Vergangenheit bestand einer meiner Tricks darin, CCK-Elemente bei der Erstellung neuer Knoten bedingt auszublenden, wenn ich eine Art Standard erzwingen möchte. Einer meiner Lieblingstricks ist es, Dinge wegzublasen, die vom Prepopulate Modul. Leider ist es für mich der jüngste Umzug in ein#after_buildin @ -basierter Mechanismus scheint alle Arten von Kollisionen zu erzeugen, wie ich das Widget manipulieren kann.

Das ist, was ich in @ gemacht hahook_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');

Aber wenn ich versuche, dieses Spiel in @ zu spiel#after_build, Ich stoße auf Fehler mit demhidden Typ Validierung oder dienodereference_autocomplete_validation. Ich habezum bedingten Hinzufügen einer CSS-Datei zurückgesetzt. Das macht mich traurig

Antworten auf die Frage(2)

Ihre Antwort auf die Frage