Bulk nodi risparmio con un campo di file
Domanda
Sono nel corso della creazione di una funzione di caricamento collettivo per un sito Drupal. Usando il flash sono in grado di caricare i file a un URL specifico che dovrebbe essere in grado di gestire i file.
Quello che voglio fare, non è solo quello di caricare i file, ma creare un nodo di un tipo specifico con il file salvato in un file-campo che è stato installato con CCK. Dal momento che si tratta di file audio, è importante che gli handle di file-campo i file, i metadati in modo aggiuntivi possono essere forniti con il modulo getID3.
ho preso uno sguardo al codice / doc, ma non è stato in grado al primo turno per capire come gestire questo. Idealmente, v'è una certa funzione che mi è mancata, in grado di gestire la maggior parte di questo per me.
Se uno ha esperienza con questo vorrei apprezzare alcune indicazioni su come affrontare la questione.
Soluzione
E 'piuttosto semplice, impostare il tipo di contenuto con i campi richiesti, quindi si desidera utilizzare il codice simile a questo:
$file = new stdClass();
$file->filename = basename($filepath);
$file->filepath = $filepath;
$file->filemime = $mime;
$file->filesize = filesize($filepath);
$file->uid = $uid;
$file->status = FILE_STATUS_PERMANENT;
$file->timestamp = time();
drupal_write_record('files', $file);
$node = new StdClass();
$node->type = 'type';
$node->body = 'body';
$node->title = 'title';
$node->field_file = array(
array(
'fid' => $file->fid,
'title' => basename($file->filename),
'filename' => $file->filename,
'filepath' => $file->filepath,
'filesize' => $file->filesize,
'mimetype' => $mime,
'data' => array(
'description' => basename($file->filename),
),
'list' => 1,
),
);
$node->uid = 1;
$node->status = 1;
$node->active = 1;
$node->promote = 1;
node_save($node);