0

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

我正在使用 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,
    );

在我的模块中执行此操作的正确方法是什么?

4

1 回答 1

0

据我所知,您只需要进行一点小改动:

$node->content['my_data_field'] = array(
  '#markup' => drupal_render(node_view($node)),
  '#weight' => 10,
);
于 2012-09-28T14:53:29.393 回答