J'écris un script pour ajouter des nœuds par programme, et je ne connais pas la bonne façon d'ajouter / attacher une image. En fait, je ne connais pas très bien Drupal.
Voici les (exemples) objets d'image que j'ai trouvés en utilisant print_r
l'existant que $node
j'utilise:
field_image: Array ([und] => Array ([0] => Array ([fxid] => 3089 [alt] => [title] => [width] => 95 [height] => 126 [uid] = > 249 [filename] => helloworld.jpg [uri] => public: //helloworld.jpg [filemime] => image / jpeg [filesize] => 3694 [status] => 1 [timestamp] => 1346748001 [type ] => image [media_title] => Array () [media_description] => Array () [field_tags] => Array () [field_license] => Array ([und] => Array ([0] => Array ([ value] => rien))) [metatags] => Array () [rdf_mapping] => Array ())))
Le suivant que j'ai trouvé est le suivant.
field_temp_image: Array ([und] => Array ([0] => Array ([value] => http://www.example.com/sample-path/helloworld.jpg [format] => [safe_value] => http://www.example.com/sample-path/helloworld.jpg))) `
Comment dois-je ajouter une image à ce nœud de cette façon?
file_usage_add($file, 'file', 'node', $n->nid);
à la fin pour éviter la suppression accidentelle du fichier.node_save
déclenchement.Drupal 8
Pour Drupal 8, cela se passerait comme suit. Ajoutez d'abord le fichier et obtenez un ID de fichier. Créez ensuite le nœud et attachez l'ID de fichier donné.
la source
Ce n'est peut-être pas exactement ce dont vous avez besoin, mais pourquoi ne pas simplement ajouter une référence à une image dans un champ, comme le suggère votre exemple 2? Et puis, dans le fichier de modèle de contenu, rendez ce champ sous forme d'image.
Dans le flux de création de noeud:
Dans le type de contenu:
la source