2011-06-28 3 views
0

Je suis en train d'écrire un script qui importe des produits de l'un de nos fournisseurs et j'ai presque tout importé correctement sauf les images de produits. D'après ce que je peux dire, les images du produit sont décrites dans les tableaux files et content_field_image_cache. Il ne semble pas y avoir de problèmes avec la table files, alors voici mon code pour l'insertion dans content_field_image_cache.Comment ajouter des images de produits Ubercart dans mon module Drupal?

$fileData->vid = $vid; 
$fileData->nid = $nid; 
$fileData->delta = 0; 
$fileData->field_image_cache_fid = $fid; 
$fileData->field_image_cache_list = 1; 
drupal_write_record('content_field_image_cache', $fileData); 

Quand j'importer des produits, le fichier image apparaît dans le répertoire, et une rangée est insérée dans files avec le bon chemin et une auto incrémentée fid. Une ligne est également insérée dans content_field_image_cache avec les bons vid, nid et delta, mais tous les autres champs sont définis comme NULL. Même lorsque j'ai défini $fileData->field_image_cache_fid = 1 ou un autre nombre entier aléatoire, il apparaît toujours NULL.

Comment insérer ces données? Ou, si vous connaissez une méthode plus simple dans l'API pour cette tâche, veuillez l'envoyer.

Modifier:db_query("INSERT INTO {content_field_image_cache} VALUES (%d, %d, 0, %d, 1, NULL)", $vid, $nid, $fid); ne fonctionne même pas! Qu'est-ce que les balles ?! Après de nombreuses idées et tentatives infructueuses, j'ai découvert que l'entrée est ajoutée à la table content_field_image_cache avant que j'aie la chance de la toucher.

Répondre

0

Je n'ai aucune idée de ce qui l'insère; ce n'est rien dans mon code. Quoi qu'il en soit, j'ai trouvé que l'utilisation d'un UPDATE a résolu mon problème.

Questions connexes