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

// Создаёт объект для будующей ноды
$node = new stdClass(); // Создаем объект node
$node->type = "split_sistemy_kondicionery"; // Определяем тип создаваемого материала
node_object_prepare($node); // добавляем настройки по-умолчанию
 
$node->title    = 'Кондиционер General'; // Название материала
$node->language = LANGUAGE_NONE; // Или например 'ru', если включен модуль locale 
//  Ещё, если оставить LANGUAGE_NONE у вас могут возникнуть проблемы с path_auto 
// (если в шаблоне path_auto используется токен на путь материала, к которому будет привязана 
// эта нода, если что, опишу подробней - пишите в комментарии под записью), 
// поэтому ставьте 'ru', если для обратного нет причин!
 
$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
}

Связаться с автором

Комментарии

Если у вас есть вопрос, критика или другое мнение - напишите в комментариях.