Програмное создание ноды в Drupal 7

Главные вкладки

Аватар пользователя Alextr Alextr 29 октября 2013 в 22:09

Здравствуйте, может кто подскажет, буду очень признателен.
Суть такова, пытаюсь программно создать ноду, использую следующий код:

<?php$node = new stdClass();
$node->type = 'zayavka';

node_object_prepare($node);
$node->language = 'ru';
$node->title = $caption_add;
$node->body = 'details_add vbrgbrgtb tbtbtgbgtbtbgt';
$node->uid = 1;
$node->status = 1;
$node->promote = 1;
node_save($node);?>

Нода появляется, но BODY пустое, смотрел БД таблица node заполняется нармально, а вот в field_data_body запись не добавляется.

Что не так делаю?

Комментарии

Аватар пользователя Alextr Alextr 29 октября 2013 в 23:13

Пробовал, тоже самое.
Даже делал так..

$node->body[$node->language][0]['value'] = $details_add;
$node->body[$node->language][0]['summary'] = text_summary($details_add); // превью
$node->body[$node->language][0]['format'] = 'filtered_html'; // тип текста

Аватар пользователя Alextr Alextr 30 октября 2013 в 0:09

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

define('DRUPAL_ROOT', $_SERVER['DOCUMENT_ROOT']);
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

а потом уж

$node = new stdClass();
$node->type = 'zayavka';

node_object_prepare($node);
$node->language = 'ru';
$node->title = $caption_add;
$node->body = 'details_add vbrgbrgtb tbtbtgbgtbtbgt';
$node->uid = 1;
$node->status = 1;
$node->promote = 1;
node_save($node);

Аватар пользователя Alextr Alextr 30 октября 2013 в 1:28

Вроди заработало когда вставка боди имеет вид.

$node->body['und'][0]['value'] = ......

а вот

$node->body['ru'][0]['value'] - не работает.

Может кто подскажет отчего такое может быть?