2010-08-20 2 views
1

이미지 필드 값을 채우는 방법 drupal_execute. 전 내 콘텐츠 유형 (테스트)에 대한drupal_execute 이미지 필드 채우기

두 개의 추가 필드 phid $form_state['values']['field_phid'][0]['value'] ='14';에 대한 1. 사진 (이미지가 출원), 2 phid (텍스트 필드)

있습니다. 파일 인 경우 파일이 이미 드루팔에 업로드하고 파일 ID (FID)가되면 이미지 필드 형

답변

1

나는 다음과 같은 해결책을 발견했다. 나는 프로와 죄수를 알지 못한다. 그러나 그것은 나를 위해 잘 작동한다.

$image = "*******/test.jpg"; 
$field = content_fields('field_img', 'img_test'); 
$validators = array_merge(filefield_widget_upload_validators($field), imagefield_widget_upload_validators($field)); 
$files_path = filefield_widget_file_path($field); 
$form_state['values']['field_img'][]= field_file_save_file($image, $validators, $files_path, FILE_EXISTS_REPLACE); 
1

입니다 사진 다음 방금

$form_state['values']['field_image_filed'][0]['fid'] = 17; //where 17 is the Drupal file ID of the file you want input 

할 수를 채우는 방법을 이미 그것의 업로드되지 많이 까다 롭습니다. 먼저 프로그래밍 방식으로 파일을 만들어야합니다. 나는 오프 손 그것을 통해 당신을 걸을 수 있지만 좋은 장소는 서비스 모듈의 file_service.inc에서 file_service_save() 함수 어떻게 이루어져야에 템플릿을 찾아 :
http://drupalcode.org/viewvc/drupal/contributions/modules/services/services/file_service/file_service.inc?revision=1.1.2.7.2.3&view=markup&pathrev=DRUPAL-6--2-2

하는 것은 할 수 clear : 업로드를 수행하기 위해 file_service_save()를 사용할 것이라고 말하는 것이 아니라 코드가 수행해야 할 것을 보여줍니다. file_save_data()를 사용하여 파일을 서버에 저장하고 Drupal "파일"테이블에 파일을 기록한 다음 hook_file_insert를 호출하여 파일이 저장되었음을 다른 모듈에 알리는 방법을 보여줍니다.

관련 문제