Drupal 添加节点';在hook\u node\u视图中,在另一个节点中创建内容

Drupal 添加节点';在hook\u node\u视图中,在另一个节点中创建内容,drupal,drupal-7,drupal-modules,Drupal,Drupal 7,Drupal Modules,在Drupal7中,我想在用户登录时将节点添加到另一个节点 我正在使用Drupal 7,我想在用户登录时在另一个节点内添加一个节点: function my_modul_node_view($node, $view_mode, $langcode) { global $user; switch ($node->vid) { case 4: $node2 = node_load(37); if ($user->uid > 0

在Drupal7中,我想在用户登录时将节点添加到另一个节点

我正在使用Drupal 7,我想在用户登录时在另一个节点内添加一个节点:

function my_modul_node_view($node, $view_mode, $langcode) {
    global $user;
    switch ($node->vid) {
    case 4:
        $node2 = node_load(37);
        if ($user->uid > 0) {
            $node->content['my_data_field'] = array(
                '#markup' => drupal_render($node2),
                '#weight' => 10,
            );   
        }
    } 
}
我收到以下错误消息:

Fatal error: Cannot use object of type stdClass as array
我使用以下表格:

    $form = drupal_get_form('user_login', $node);
    $node->content['data_collection_form'] = array(
        '#markup' => drupal_render($form),
        '#weight' => 10,
    );

在我的模块中,正确的方法是什么?

据我所知,您只需要做一个小改动:

$node->content['my_data_field'] = array(
  '#markup' => drupal_render(node_view($node)),
  '#weight' => 10,
);

如何仅包含节点纯文本内容?是否指正文字段?类似于:
$items=field\u get\u items('node',$node,'body')$body\u item=数组\u移位($items)$body_text=$body_item['safe_value']