Здравствуйте, может кто подскажет, буду очень признателен.
Суть такова, пытаюсь программно создать ноду, использую следующий код:
<?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 запись не добавляется.
Что не так делаю?
Комментарии
$node->body['ru'][0]['value'] = 'Содержание ноды';
или какой там у вас язык
Пробовал, тоже самое.
Даже делал так..
$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'; // тип текста
верно, поменяй language
Тут есть описание
Чето все тоже самое получается. Еще нюанс, может в нем загвостка - этод код находится в отдельном файле, который вызывается аяксом, чтобы в файле выполнялись функции друпала я вначале прописал
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);
Вроди заработало когда вставка боди имеет вид.
$node->body['und'][0]['value'] = ......
а вот
$node->body['ru'][0]['value'] - не работает.
Может кто подскажет отчего такое может быть?
Заставляем любую форму выполняться через AJAX в Drupal 7
Всем спасибо за участие. Проблема решена - все работает при таком подходе:
$node->body['und'][0]['value']
а если так:
<?php
$lng = $node->language;
$node->body[$lng][0]['value'];
?>