感謝IRC#drupal支持頻道中的一些人,我能夠得到這個問題的答案。下面是一個例子模塊基礎的解決方案:
function my_module_form_alter(&$form, &$form_state, $form_id) {
global $user;
switch ($form['type']['#value']) {
case "my_content_type":
if (user_access("administer nodes")) { break; }
foreach (array_keys($form['field_my_images']) as $key) {
if (!is_numeric($key)) { continue; }
if ($form['field_my_images'][$key]['#default_value']['fid']) {
if ($form['field_my_images'][$key]['#default_value']['uid'] != $user->uid) {
$form['field_my_images'][$key]['#access'] = false;
}
}
}
break;
}
}
我現在,我意識到我的整個問題,是因爲我訪問例如覺得很傻:
$form['#node']->field_my_images
代替:
$form['field_my_images']