여러 비디오 형식의 여러 파일과 캡션을 사용할 수있는 사용자 지정 "비디오"필드를 만들고 있습니다. 지금까지 스키마는 괜찮지 만 실제 파일을 업로드하고 저장할 수는 없습니다.여러 파일 필드가있는 Drupal 7의 사용자 정의 필드
hook_field_widget_form
에서 내 코드 (에만 해당 비트를 붙여 넣기) 다음과 같습니다
: 내 .install
파일에서
$element['mp4'] = array(
'#type' => 'file',
'#title' => 'MP4 file',
'#delta' => $delta,
);
$element['ogg'] = ... /* similar to the mp4 one */
$element['caption'] = array(
'#type' => 'textfield',
'#title' => 'Caption',
'#delta' => $delta,
);
또한 : 내가하려고 할 때
function customvideofield_field_schema($field) {
return array(
'columns' => array(
'mp4' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'ogg' => ... /* similar to mp4 */
'caption' => array(
'type' => 'varchar',
'length' => 255,
),
)
);
}
내가지고있어 오류가 데이터를 저장합니다. 나는 폼을 얻었고, 데이터베이스는 괜찮아 보인다. (드루팔 (Drupal)은 적어도 생성한다.) 그러나 INSERT를 시도하면, 정수 필드에 들어가려고하는 값이 빈 문자열이기 때문에 실패한다.
내가 이해하는 것으로부터 정수가되어야합니다. 맞습니까? (fid
s?)하지만 파일 업로드를위한 올바른 인터페이스를 얻더라도 파일이 업로드되고 있지 않다고 생각합니다.
Drupal은 여기에 게시하기에는 너무 긴 INSERT 쿼리를 보여 줍니 다. 텍스트 필드 인 caption
필드의 값은 쿼리에서 문제가없는 것으로 볼 수 있습니다. 그래서 파일 필드에만 문제가 있습니다.
이것은 정말 올바른 방향으로 나를 보내고 있습니다, 감사합니다! 이 코드를 어디에 두어야하는지 알고 있습니까? 'hook_field_update_field()'입니까? – cambraca
@cambraca : 도움이 되었으면 좋겠습니다. :) – Clive
'hook_field_presave'를 사용하면'file_usage_add'를 사용하여 파일을 등록 할 필요가 없습니다. – Beebee