2011-07-08 7 views
2

ファイルをノードに関連づけたかった。ここまでは順調ですね。 cck形式のファイルを作成し、問題は解決されました。しかし、私はこれを行うことはできません、私はユーザーがファイルを選択しないようにします。問題のファイルはすでにシステムに入っています。 ファイルを#default_valueフィールドに配置し、フック_フォーム_FORM_ID_alterで非表示にしようとしましたが失敗しました。drupal 7 - コードでノードにファイルを添付する

function my_module_form_node_form_alter(&$form, $form_state, $form_id) { 
    if(isset($form['type']) && isset($form['#node'])) { 
     $type = $form['#node']->type; 

     if(stripos($type, 'node-type') === FALSE) 
      return; 

     switch($type) : 
      case 'node-type_xyz': 
       $fid = arg(3); 
       $file = file_load($fid); 

       // make a cck field_invoice a hidden field 
       $form['field_invoice']['#prefix'] = '<div style="display:none;">'; 
       $form['field_invoice']['#suffix'] = '</div>'; 

       $form['field_company']['und'][0]['value']['#default_value'] = 'ABC'; 
       $form['field_account_number']['und'][0]['value']['#default_value'] = '09879'; 
       break; 
     endswitch; 
    } 
} 

誰もが何か提案がありますか?

答えて

0

#prefixと#suffixを使用して非表示にしないでください。代わりに#accessをfalseに設定してください。そうすれば、人々はフォームを操作することはできません。 hook_nodeapiまたはsubmit関数で値を設定するか、型を 'value'に、#valueをファイルに設定できます。

関連する問題