it-swarm-es.com

Adjuntar archivos de servidor existentes al campo de archivos

¿Cómo se configura una ruta de archivo existente para un campo de archivo, en Drupal 7? La única opción que veo es cargar el archivo nuevamente.

En Drupal 6, FileField Sources parece hacer esto.

¿ FileField Paths o IMCE junto con el campo de archivo permiten la asignación de archivos del servidor?
¿Existe una API para administrar mediante programación los campos de archivo?

Editar
Acabo de descubrir que esto can todo se hace con el módulo de medios. También tengo mediaelement instalado. Sin embargo, no es completamente intuitivo, así que aquí están los pasos que tomé:

Importar a la biblioteca de medios: /admin/content/media/import

Crear un mediafile asset campo. Esto le permite adjuntar desde la biblioteca.

Los formatos de visualización (ejemplo para audio) están en /admin/config/media/types/manage/audio/display/, en lugar del tipo de contenido "administrar pantalla" que solo proporciona "grande", "pequeño", "vista previa", etc.

7
brian_d

Intentaría Media y sus módulos asociados. Es una evolución de FileField Sources , y proporciona la mayor parte del mismo tipo de funcionalidad, aunque con Drupal 7 campos.

3
Kim Pepper

FileField Sources ha sido portado para D7 y es genial. También hay un módulo llamado archivo de selección visual que agrega capacidad para la selección basada en Nice Views de archivos existentes (bueno para imágenes).

3
Bobík

Elegí IMCE en combinación con IMCE para FileField (D7) porque el cliente necesitaba una selección rápida y sin bloqueo de archivos cargados con ftp - y esto sin duplicarlos para cada nodo.

Por lo que veo, las fuentes de Filefield siempre duplican los archivos adjuntos en este momento. El importador proporcionado por Media también lo hace.

3
phils

Puedo ayudarlo a adjuntar un archivo a un archivo archivado. Sin embargo, no he intentado lograr un widget de autocompletar para obtener el archivo que desea adjuntar al campo de archivo.

puede usar file_get_contents() para tomar el archivo que desea adjuntar y luego usar file_save_data para ingresarlo en Drupal. El problema es que tendrá que cambiar el estado del archivo que acaba de agregar para poder adjuntarlo a un nodo más adelante. De lo contrario, obtendrá un error de validación.

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

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

Una vez que el formulario se envía con el fid como el valor para el campo de archivo que desea que se adjunte al estado de los archivos administrados, se actualizará automáticamente.

Echa un vistazo a http://api.drupal.org/api/drupal/includes--file.inc/group/file/7 para obtener más información.

2
Jepedo

Siempre puede ir al Archivo como Node y usar un campo de referencia Node + Formateadores personalizados (para representar el Node como un archivo) para hacer esto, lo que le permitiría actualizar el nodo Archivo y tener todas las referencias de ese nodo Archivo actualizadas en todos los ámbitos.

En D6 también puede usar Relaciones de nodo para proporcionar una Biblioteca de archivos y Formateadores 4 Node Campo de referencia para formatear el nodo como cualquier formateador de FileField disponible.

1
Decipher

FileField Sources aún no se ha portado a Drupal 7, pero está planeado. Consulte problema correspondiente en drupal.org .

1
Pierre Buyle