web-dev-qa-db-fra.com

Comment obtenir la description du fichier par programme?

Dans Drupal 8, comme Drupal 7, vous pouvez activer la description du fichier dans le paramètre de champ de fichier).

Mais une fois que mon entité de fichier est chargée dans mon pré-processus, je ne sais pas comment obtenir la valeur de description entrée pour mon fichier. J'ai essayé (sans succès):

$myfileentity->toArray();
$myfileentity->get('description');
$myfileentity->get('description_field');
$myfileentity->label();

Une idée ?

Merci.

6
pbonnefoi

La description est stockée dans le champ de fichier et non dans l'entité de fichier. Pour y accéder, utilisez $node->yourfilefield->description.

11
Berdir

Si le champ contient plusieurs fichiers, vous pouvez obtenir la description comme suit:

$values = $field->getValue();
foreach($values as $value){
   $descriptions[] = $value['description'];
}

Testé en Drupal 8.4.

1
André Morales

Si vous souhaitez obtenir la valeur du champ "description", vous pouvez utiliser quelque chose comme ceci:

$fid = 1; //Your file id
$file = \Drupal\file\Entity\File::load($fid);
$file->get('filename')->value; //here to get the file name

Pour obtenir la liste, essayez dpm(file->toArray());

Vous pouvez consulter ces pages pour connaître les fichiers et les champs.

0
Net