node_save

lohness Пнд, 09/02/2015 - 13:15

Программное изменение большого числа нод

Есть скрипт, который изменяет ноды в цикле (2000-3000 нод за запуск).
Ноды грузяться node_load'ом и сохраняются node_save по одной штуке, скрипт работает крайне медленно. Какие есть альтернативные варианты? Вручную писать запрос конечно не хотелось бы- в ноде большой количество различных полей

Тип материала: 
Версия Drupal: 
0 Спасибо

lactarius Чт, 15/01/2015 - 08:48

Изменить дату создания

Доброго времени суток!

Подскажите пожалуйста, как программно изменить дату создания ноды через node_save()?

Ключевые слова: 
Версия Drupal: 
0 Спасибо

NadejhdaAdamovaN Ср, 22/05/2013 - 12:47

[Решено] Программное создание ноды: как добавить ноде свойства Domain Access

Как при программном создании ноды сообщить ей сводйства Domain Access: source_domain, domains, subdomain? По умолчанию присваивает принадложность к активному домену.

Тип материала: 
Модули и темы: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

gamer90 Вс, 14/04/2013 - 21:47

mail and cron

Здравствуйте, можно ли после создания ноды, отложить отправку письма на некоторое время?
Дело в том, что при определенном событии у меня создается нода "уведомление" и отправляется письмо и после отправляется ответ аяксом. И вот отправка письма тормозит ответ аякса. Может есть какой нибудь способ ообойти это?

Тип материала: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

MasterDzen Втр, 29/01/2013 - 07:37

[решено] Cron. Обновление материала. Ревизия создается от гостя. Как победить?

создал очередь, в обработчике вносятся некоторые изменения в материал,
далее делается node_save.

создается ревизия материала и ей проставляется юзер:
либо гость, если крон запускается по расписанию,
либо админ, если крон дергаю я сам.

хотелось бы, чтобы после внесения изменения в материал,
хозяином последней ревизии оставался предыдущий исправлявший материал юзер.

например:
счас так, до работы крона:

$node->uid == 123;
$node->revision_uid == 321;

после запуска крона получается так:

$node->uid = 123;
$node->revision_uid = 0;

как-то так вот получается..

а хотелось бы..
чтобы после работы крона было так:

$node->uid = 123;
$node->revision_uid = 321;
Тип материала: 
Ключевые слова: 
0 Спасибо

NadejhdaAdamovaN Пнд, 24/12/2012 - 20:16

Как ускорить сохранение ноды?

Есть ли способы что-то отключить, чтобы этот процесс ускорить?
И каким образом узнатЬ что отключить?

Тип материала: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

yustos.com Чт, 27/09/2012 - 09:23

node_save срабатывает более чем за 10 секунд

Это перенос топика http://www.drupal.ru/node/88408
Поскольку вопрос несколько обострился, создаю новый топик.
Занимаюсь импортом самописного сайта, нужно импортировать картинки в ноды. Использую код, предложенный http://xandeadx.ru/blog/drupal/393:

function mymodule_node_image($nid, $images) {
  foreach ($images as $picture) {
    if($picture<>'') {
      $file_path = 'public://images/' . $picture;
      $file = (object)array(
        'uid' => 1,
        'uri' => $file_path,
        'filename' => drupal_basename($file_path),
        'filemime' => file_get_mimetype($file_path),
      );

      $file = file_copy($file, 'public://product_photos');
      if ($file) {
        $node = node_load($nid);
        $node->field_image[LANGUAGE_NONE][] = (array)$file;

Тип материала: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

Alandr Вс, 29/01/2012 - 23:58

Скрыть текст тела ноды

Подскажите, как скрыть "содержание" ноды на форуме для некоторых топиков?

Тип материала: 
Версия Drupal: 
0 Спасибо

newuserdrupal Вс, 15/01/2012 - 07:30

Не отображается нода, добавленная программно

Здравствуйте, уважаемые ценители друпала.

У меня есть вопрос по версии 6.Х друпал.

Хочу организовать выгрузку форумов, таксономии, нодов и комментов в друпал пакетами, но зациклился на, казалось бы, простом вопросе, - в базу с помощью node_save добавляю ноду, и она успешно заносится в базу, но не отображается в списке топиков...

Я уже замучился, уже третьи сутки в сети и никак не могу решить этот вопрос.
Пробовал уже напрямую добавлять в базу, но база какая-то "мутная", то ли я что-то пропускаю, то ли... в общем не могу понять причин. При прямом добавлении в форуме отображается верное количество тем и появляется надпись, что есть новые сообщения, но линки на них по прежнему где-то пропали.

Тип материала: 
Версия Drupal: 
0 Спасибо

iHappy Вс, 07/08/2011 - 12:30

Медленная работа pathauto.

Доброго времени)

Беда с pathauto, работает дико медленно. На создание ноды через node_save уходит 1.62сек. Из них ~1,2сек это создание алиаса. При создании одной ноды, понятно дело, это время не заметное. Но вот когда 10к нод создается/обновляется. Это уже очень заметно. Час работы или 5 часов, есть разница.
Сам вопрос. Как можно ускорить процесс создание алиаса?
Кто с этим сталкивался и как выходили из ситуации?

Модули и темы: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

kvaleksandr Ср, 18/05/2011 - 10:05

Номер Node

Здравствуйте, у меня имеется код в котором я создаю новую ноду.

Тип материала: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

klimp Втр, 11/01/2011 - 15:19

[РЕШЕНО] node_save() и drupal_execute дублируют ноды

Здравствуйте. Пишу простенький модуль и столкнулся с непонятной проблемой. Причем раньше использовал программное сохранение ноды и таких косяков не замечал

<?php
function row_classfields_menu(){
    
$items = array();
    
$items['row'] = array(
        
'title' => 'ROW',
        
'page callback' => 'row_page',
        
'access arguments' => array('access content'),
    );
    return 
$items;
}

function row_page(){
    
$new_node = new StdClass();
    
$new_node->type 'classifieds';
    
$new_node->title 'title';
    
$new_node->status 1;
    
$new_node->promote 0;
    
$new_node->sticky 0;
    
$new_node->created '1256953732';
    
$new_node->body 'body';
    
$new_node->path 'rrr/rrr/rrr';
    
node_save($new_node);
}
?>

нода сохраняется 3 раза. при повторном вызове node_save ведет себя странно. сохраняется от 2х до 4х раз.
при использовании drupal_execute - то же самое.

пробовал на локальном хосте и на удаленном. хотя на этом же проекте раньше использовал node_save. работал опрекрасно. не знаю что и делать

Версия Drupal: 
0 Спасибо

edmi Чт, 21/10/2010 - 12:02

[решено]Програмное создание ноды с полями и таксономией

Доброго времени суток.
Необходимо из модуля создать ноду, основываясь на данных в файле xml.
Погуглив, пришел к выводу, что есть функция node_save, которая и отвечает за создание ноды, но немогу найти полный список переменных и спецификацию. В частности в каком формате указывать файл, для поля "imagefile_field", и чем определять таксономию.
Сейчас используется примерно такое:

<?php
$node 
= new stdClass();
$node->type 'nodetype';
$node->title '$title';
$node->body '$descr';
$node->uid 1;                  // id автора 
$node->status 1;               // 1 - опубликовано, 0 - нет
$node->promote 1;              // 1 - показывать на главной, 0 - нет
//пример заполения полей ноды
//$node->field_publisher[0]['value'] = 'Foo'; // текстовое cck поле field_publisher
//$node->field_author[0]['value'] = 'Bar';    // текстовое cck поле field_author
?>

Буду благодарен за помощь.

Тип материала: 
Ключевые слова: 
Версия Drupal: 
0 Спасибо

luitor Чт, 30/09/2010 - 07:49

[Решено] node_save и прикрепление файлов

Здравствуйте!
С Drupal познакомился пару недель назад, поэтому, на данный момент, у меня масса вопросов.
Надо добавить около 1000 нод, у которых есть поля cck( lang типа text и addnew типа file upload).
Никак не могу прикрепить файл( заполнить поле addnew).
Вот фрагмент кода:

Ключевые слова: 
Версия Drupal: 
0 Спасибо

ingumsky@drupal.org Пт, 24/09/2010 - 23:33

Batch API и node_save [РЕШЕНО]

Здравствуйте!

Второй день бьюсь над решением проблемы. Судя по всему, мне не хватает понимания php и drupal, поэтому приходится обращаться к сообществу.

Передо мной стоит задача залить n новых нод в друпал. Я использую для этого node_save и пишу вот такой код, который загружаю через php-блок в Devel:

<?php
// Задаю массив массивов с содержимым новых нод 
$nodes_for_import = array(
array(
"1","5048","A","4838","4655","1959-08-22:T00:00:00","34000","2","3"),
array(
"2","5041","H","112","4655","1959-08-26:T00:00:00","33071","4","2"),
);

// Прогоняю массив через цикл, создавая из каждого подмассива новую ноду
foreach ($nodes_for_import as $node_fi) {
    
$node = new StdClass();
    
$node->nid 0;
    
$node->type 'my_type';
    
$node->language 'ru';
    
$node->comment '2';
    
$node->status 1;
    
$node->field_0 = array(array("value" => $node_fi[0]));
    
$node->field_1 = array(array("nid" => $node_fi[1]));
    
$node->field_2 = array(array("value" => $node_fi[2]));
    
$node->field_3 = array(array("nid" => $node_fi[3]));
    
$node->field_4 = array(array("nid" => $node_fi[4]));
    
$node->field_5 = array(array("value" => $node_fi[5]));
    
$node->field_6 = array(array("value" => $node_fi[6]));
    
$node->field_7 = array(array("value" => $node_fi[7]));
    
$node->field_8 = array(array("value" => $node_fi[8]));
    
node_submit($node);
    
node_save($node);
}
?>

Ключевые слова: 
0 Спасибо

likin Сб, 24/07/2010 - 19:12

node_save

Доброго вечера.
Есть такая хорошая функция как node_save().
А вот как мне узнать что данные были добавлены успешно?

Спасибо.

Ключевые слова: 
Версия Drupal: 
0 Спасибо

Arseniy Втр, 08/06/2010 - 04:10

node_save

Хочу добавить новую ноду типа продукт. Делаю:

<?php
$node=new stdClass();
$node->title='Тессссст';
$node->type="product";

$node->model='Теееест';

$node->body='ааааббббб';
$node->language = "ru";

node_save($node);
?>

Нода не добавляется. Подскажите, что не так, пожалуйста.

Ключевые слова: 
0 Спасибо

likin Ср, 10/03/2010 - 10:11

Создание контента и прикрипление к ниму изображения

Доброго дня.
Такая ситуация...
Есть галирея изображений, тип 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);

! не сохраняет никаких данных с $newnode->field_s5_galleryimage.

Спасибо.

Модули и темы: 
Ключевые слова: 
0 Спасибо

Страницы