CCKフォームにフックして何かを変更したい場合、通常、$form['#after_build']
からカスタム関数を呼び出す必要があります(そうですか?)。
その際、$ form['field_name']['#disabled'] = TRUE;
を記述できないことに気付きましたが、代わりに#attributes
アプローチを使用する必要があります。
どうして?私は何か間違ったことをしていますか?
フォームAPIは通常それを行っていますが、おそらくafter_build関数を呼び出す前にそれを行います。
#after_build関数は form_builder() で呼び出され、#disabled処理は _ form_builder_handle_input_element() で呼び出され、form_builder()で以前に呼び出されます。