Ini adalah sebagian jawaban untuk pertanyaan Anda, karena saya mencoba melakukan sesuatu yang serupa tetapi dengan materi video.
Anda dapat membuat simpul sebagai tipe konten, simpan jenis media yang Anda butuhkan (lihat kode media untuk mengetahui mime / jenis yang relevan dan fungsi yang perlu Anda panggil). Anda mungkin perlu mengatur bidang aset multimedia dan menggunakan pemilih file media dalam jenis bidang tersebut.
Bit yang saya punya masalah adalah membuat browser untuk menunjukkannya di node yang dibuat, yang saat ini saya kerjakan.
MEMPERBARUI
Setelah mendapat sedikit lebih jauh. Setelah Anda menyimpan file media (menggunakan media API), kaitkan id file dengan ID node menggunakan file_usage_add () . Anda mungkin juga harus mengaitkan file di bidang yang ditambahkan saat Anda membuat bidang aset media.
Pastikan php.ini Anda mengizinkan allow_url_fopen. Kemudian Anda dapat menggunakan sesuatu seperti ini di modul Anda:
Gunakan fungsi file_get_contents () php
http://www.php.net/manual/en/function.file-get-contents.php
dan kemudian gunakan file_save_data API Drupal ()
http://api.drupal.org/api/drupal/includes--file.inc/function/file_save_data/7
Maka Anda harus dapat menyebutnya menggunakan dan menyimpannya ke node dll.
Edit:
Seperti yang ditunjukkan dalam komentar, Anda dapat menggunakan fungsi system_retrieve_file Lihat: https://api.drupal.org/api/drupal/modules!system!system.module/function/system_retrieve_file/7
sumber
$file = system_retrieve_file('http://drupal.org/files/issues/druplicon_2.png', NULL, TRUE, FILE_EXISTS_RENAME);
Ini contoh kerja saya.
sumber
system_retrieve_file()
dan kemudian menyimpannya sebagai file permanenFILE_STATUS_PERMANENT
? Saya tidak melihat titik fungsi kustom Anda?Ini bukan jawaban langsung, tetapi pastikan Anda sudah tahu tentang modul Sumber Filefield , yang melakukan ini untuk gambar secara umum. Mungkin memenuhi kebutuhan Anda sendiri; Saya tidak tahu apakah ini berguna dengan Media.
sumber
Sebagai tambahan jawaban @tecjam: Anda harus menggunakan drupal_http_request () alih-alih file_get_contents () , itu memberi Anda lebih banyak kontrol atas proses. Tetapi secara total metode ini berfungsi seperti yang diharapkan.
sumber
sumber
system_retrieve_file()
(yang melakukan semuanya untuk Anda dan menghindari masalah dengan serverfile_get_contents()
yang tidak tersedia)?