Добавить комментарий программно в Drupal 7 - PullRequest
5 голосов
/ 24 ноября 2011

пытается создать комментарий в собственном модуле.

$comment = new stdClass();
$comment->nid = 555; // Node Id the comment will attached to
$comment->cid = 0;
$comment->pid = 0;
$comment->uid = 1;
$comment->mail = 'email@example.com';
$comment->name = 'admin';
$comment->is_anonymous = 0;
$comment->homepage = '';
$comment->status = COMMENT_PUBLISHED;
$comment->language = LANGUAGE_NONE;
$comment->subject = 'Comment subject'; 
$comment->comment_body[$comment->language][0]['value'] = 'Comment body text';
$comment->comment_body[$comment->language][0]['format'] = 'filtered_html'; 
comment_submit($comment);
comment_save($comment);

Код вызывает следующую ошибку:

Неустранимая ошибка: вызов неопределенной функции node_load () in BLA / BLA / comment.module в строке 1455

Функция node_load () находится в модуле узла, который, конечно, включен.

Как это исправить?

Спасибо!

1 Ответ

3 голосов
/ 25 января 2013

Попробуй так:

  $comment = (object) array(
    'nid' => $node_id,
    'cid' => 0,
    'pid' => 0,
    'uid' => 1,
    'mail' => '',
    'is_anonymous' => 0,
    'homepage' => '',
    'status' => COMMENT_PUBLISHED,
    'subject' => 'dsk subject',
    'language' => LANGUAGE_NONE,
    'comment_body' => array(
      LANGUAGE_NONE => array(
        0 => array (
          'value' => 'aaa',
          'format' => 'filtered_html'
        )
      )
    ),
  );

  comment_submit($comment);
  comment_save($comment);
...