Как скрыть виджет ввода CCK Nodereference в #after_build?

Мне нравится упрощать форму узла. Одним из моих приемов в прошлом было условное скрытие элементов CCK при создании нового узла, когда я хочу применить какое-то значение по умолчанию. Один из моих любимых трюков - смахивать вещи, положенные на местопредварительное заполнение модуль. К сожалению для меня, это недавний переход к#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, Это меня огорчает.

Ответы на вопрос(1)

Ваш ответ на вопрос