Создание материала в друпале из пхп


В продолжение темы Перенос мероприятий из Контакта на сайт под Drupal решил, что правильнее сразу публиковать материал на сайт, минуя посредника в виде файла CSV и модуля друпала Node import.

Нашлась статья "Импорт сайтов из разных CMS на Drupal". Оказалось, что это это достаточно просто, создаем файлик new_node.php в каталоге сайта друпала:

<?php

require_once 'includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
$node = new stdClass();

$node->title = "Title";
$node->body = 'Основной текст';
$node->teaser = "Текст анонса";
$node->type = "blog";
$date=DateTime::createFromFormat('d/m/Y - H:i', "31/12/2012 - 15:00");
$node->created = strtotime($date->format('Y-m-d H:i'));; // дата создания
$node->changed = $node->created; // дата обновления

$node->promote = 0; // публикация на главной странице
$node->sticky = 0; // Прикрепить вверху на главной странице
$node->status = 1; // нода опубликована
$node->format = 1; // используется фильтр Filtered HTML
$node->comment = 2; // комментарии разрешены
$node->uid = 0; // ноду добавил "Гость", можно поставить uid=1, тогда ноду добавит админ сайта
 

// Т.к. у меня статьи публикуются в ЖЖ, то еще выставляем галочку "Crosspost LiveJournal"
$node->ljxp_crosspost = 1; // Опубликовывать в Live Journal
$node->language = ''; // нода не привязана к языку
$node->taxonomy[]=taxonomy_get_term(3); // Добавляем словарь
node_save($node); // Сохраняем ноду.
ljxp_post($node); // Публикуем в ЖЖ

?>

После этого, при обращении к файлу через веб у нас будет создаваться новая нода с заданными заголовком, текстом, датой публикации и т.д.