Доброго дня.
Такая ситуация...
Есть галирея изображений, тип galleryimage(изображение галиреи), созданое используя модуль cck.
В контенте есть поле imagefield.
Стояла задача реализовать быструю форму добавления реализовал,
но не как не могу сохранить изображение.
Укажите на мои ошибки, или подскажите какой-нибудь другой вариант...
$gallery=node_load($form["gallery_id"]["#value"]);
//if ($file = file_save_upload('image', $validators, file_directory_path())) {
if ($file = file_save_upload('image')) {
// Do something with $file here.
//print_r($file);
file_set_status($file, FILE_STATUS_PERMANENT);
} else print t("File was not uploaded.");
$newnode = new stdClass();
$newnode->title = $form["title"]["#value"];
$newnode->field_s5_gallery=array(array("nid"=>$form["gallery_id"]["#value"]));
$newnode->body = "";
global $user;
$newnode->uid = $user->uid;
$newnode->type = 'galleryimage';
$newnode->status = 1;
$newnode->promote = 0;
$newnode->field_s5_galleryimage[0]=
array(
'fid' => 'upload',
'title' =>$file->filename,
'filename' => $file->filename,
'filepath' => $file->filepath,
'filesize' => filesize($file->filepath),
'list' => 1, // always list
);
//
node_save($newnode);
//if ($file = file_save_upload('image', $validators, file_directory_path())) {
if ($file = file_save_upload('image')) {
// Do something with $file here.
//print_r($file);
file_set_status($file, FILE_STATUS_PERMANENT);
} else print t("File was not uploaded.");
$newnode = new stdClass();
$newnode->title = $form["title"]["#value"];
$newnode->field_s5_gallery=array(array("nid"=>$form["gallery_id"]["#value"]));
$newnode->body = "";
global $user;
$newnode->uid = $user->uid;
$newnode->type = 'galleryimage';
$newnode->status = 1;
$newnode->promote = 0;
$newnode->field_s5_galleryimage[0]=
array(
'fid' => 'upload',
'title' =>$file->filename,
'filename' => $file->filename,
'filepath' => $file->filepath,
'filesize' => filesize($file->filepath),
'list' => 1, // always list
);
//
node_save($newnode);
! не сохраняет никаких данных с $newnode->field_s5_galleryimage.
Спасибо.
Комментарии
В таких случаях я всегда добавляю такую конструкцию (тут ей и научили):
drupal_set_message('<pre>'.$msg.'</pre>');
Перед node_save($newnode);
Сохраняю:
Вставьте эту же конструкцию поменяв $newnode на $node в начало функции node_save(); (потом не забудьте удалить!)
В второй вкладке создайте как обычно ноду с этим полем и сохраните.
Вот вам в двух вкладках как делается всё и работает и Ваш вариант.
Найти причину думаю теперь не составит труда.
Спасибо нашёл.