Программно создать ноду Node в Drupal 7 (с Domain Access)

    Опубликовано Andres - пн, 02/04/2019 - 13:42

            // Создаёт объект для будующей ноды
            $node = new stdClass(); // Создаем объект node
            $node->type = "split_sistemy_kondicionery"; // Определяем тип создаваемого материала
            node_object_prepare($node); // добавляем настройки по-умолчанию
            
            $node->title    = 'Кондиционер General'; // Название материала
            $node->language = LANGUAGE_NONE; // Или например 'ru', если включен модуль locale
            
            $node->uid = 1; // UID пользователя

            // Дополнительные  свойства ноды
            $node->promote = 0; // Размещено на главной  (1) или нет (0)
            $node->sticky = 0; // Закреплено вверху списков  (1) или нет (0)
            $node->comment = 0; // Комментарии включены  (2) или нет (1)
            
            // Устанавливает опубликована нода или нет
            $node->status = 1; // Опуликовано (1) или нет (0)
            
            // Устанавливает старый NID
            // $node->nid = $id; // Устанавливаем NID при создании
            // $node->is_new = TRUE;

            
            // 4. Установить путь
            // $path = $data->path;
            // $node->path = array('alias' => $path, 'pathauto' => 0); // путь к материалу, для модуля path
            
            // 4.1 Установить специфичный путь
            /*$data->spec_domain_path = konvert_obj_to_array ($data->spec_domain_path);
            if($data->spec_domain_path['1']){
                $node->domain_path[1] = $data->spec_domain_path['1'];
            }
            
            if($data->spec_domain_path['2']){
                $node->domain_path[2] = $data->spec_domain_path['2'];
            }
            */
            
            
            // 5. Установить домены на которых опубликован
            $node->domain_site = FALSE; // Sets "Send to all affiliates" off Устанавливает «Отправить всем филиалам» ВЫКЛ

            $array_domain_id[] = 1; // НСК
            $array_domain_id[] = 2; // Анапа
            
            foreach($array_domain_id as $value){
                $value = (int) $value;
                $node->domains[$value] = $value;
            }

            
            // 6. Сохраняет
            if($node = node_submit($node)) { // Подготовка к сохранению
                 node_save($node); // Сохранение ноды, теперь доступен nid новой ноды $node->nid
            }