it-swarm-id.com

Melampirkan file server yang ada ke filefield

Bagaimana Anda mengatur jalur file yang ada untuk bidang file, di Drupal 7? Satu-satunya opsi yang saya lihat adalah mengunggah file lagi.

Dalam Drupal 6, Sumber FileField tampaknya melakukan ini.

Apakah Path FileField atau IMCE bersama dengan bidang file memungkinkan penugasan file server?
Apakah ada API untuk secara terprogram mengelola bidang file?

Edit
Saya baru tahu bahwa ini bisa semua dilakukan dengan modul media. Saya juga telah elemen media diinstal. Namun itu tidak sepenuhnya intuitif, jadi inilah langkah-langkah yang saya ambil:

Impor ke perpustakaan media: /admin/content/media/import

Membuat mediafile asset bidang. Ini memungkinkan Anda untuk melampirkan dari perpustakaan.

Format tampilan (contoh untuk audio) berada di /admin/config/media/types/manage/audio/display/, alih-alih jenis konten "kelola tampilan" yang hanya menyediakan "besar", "kecil", "pratinjau", dll.

7
brian_d

Saya akan mencoba Media dan modul yang terkait. Ini adalah evolusi dari Sumber FileField , dan menyediakan sebagian besar jenis fungsi yang sama walaupun dengan bidang Drupal 7.

3
Kim Pepper

Sumber FileField telah porting untuk D7 dan itu hebat. Juga ada modul yang disebut file pilih Visual apa yang menambahkan abbiliti untuk Nice pilih berbasis file yang ada (baik untuk gambar).

3
Bobík

Saya memilih IMCE dalam kombinasi dengan IMCE untuk FileField (D7) karena klien membutuhkan pemilihan file yang diunggah dengan ftp dengan cepat dan tidak berbelok. - dan ini tanpa menduplikasi mereka untuk setiap node.

Sejauh yang saya lihat, Sumber Filefield selalu menduplikasi file terlampir saat ini. Importir yang disediakan oleh Media juga melakukannya.

3
phils

Saya dapat membantu Anda dengan melampirkan file ke filefile. Namun, saya belum berusaha mencapai widget pelengkapan otomatis untuk mendapatkan file yang ingin Anda lampirkan ke bidang file.

anda dapat menggunakan file_get_contents() untuk mengambil file yang ingin Anda lampirkan dan kemudian menggunakan file_save_data untuk masuk ke Drupal. Tangkapannya adalah Anda harus mengubah status file yang baru saja Anda tambahkan sehingga Anda dapat melampirkannya ke sebuah node nanti. Jika tidak, Anda akan mendapatkan kesalahan validasi.

$file = file_save_data($data, $destination = NULL, $replace = FILE_EXISTS_RENAME);

db_update('file_managed')
  ->fields(array('status' => 0))
  ->condition('fid', $file->fid, '=')
  ->execute();

Setelah formulir dikirimkan dengan fid sebagai nilai untuk bidang file yang Anda inginkan, file yang dilampirkan ke status file terkelola akan diperbarui secara otomatis.

Lihat http://api.drupal.org/api/drupal/includes--file.inc/group/file/7 untuk referensi lebih lanjut.

2
Jepedo

Anda selalu dapat menggunakan File sebagai pendekatan Node dan menggunakan Node Bidang referensi + Custom Formatters (untuk merender Node sebagai File) untuk melakukan ini, yang akan memungkinkan Anda untuk memperbarui simpul File dan memiliki semua referensi dari simpul File diperbarui di seluruh papan.

Di D6 Anda juga dapat menggunakan Hubungan Node untuk menyediakan Perpustakaan File dan Pemformat 4 Node bidang Referensi untuk memformat simpul seperti formatter FileField yang tersedia.

1
Decipher

Sumber FileField belum porting ke Drupal 7, tapi sudah direncanakan. Lihat masalah terkait pada drupal.org .

1
Pierre Buyle