Я пишу скрипт, который импортирует товары от одного из наших поставщиков, и у меня почти все импортируется правильно, кроме изображений товаров.
Из того, что я могу сказать, изображения продуктов описаны в files
и content_field_image_cache
таблицы.Кажется, с таблицей files
проблем не возникает, поэтому вот мой код для вставки в content_field_image_cache
.
$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);
Когда я импортирую продукты, файл изображения отображается в правильномкаталог, и строка вставляется в files
с правильным путем и автоматически увеличивается fid
.Строка также вставляется в content_field_image_cache
с правильными vid
, nid
и delta
, но каждое другое поле устанавливается как NULL .Даже когда я задаю $fileData->field_image_cache_fid = 1
или другое случайное целое число, оно все равно появляется NULL .
Как мне вставить эти данные?Или, если вам известен более простой метод в API для этой задачи, опубликуйте его.
Редактировать: db_query("INSERT INTO {content_field_image_cache} VALUES (%d, %d, 0, %d, 1, NULL)", $vid, $nid, $fid);
даже не работает!Какие шары?!