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 に答える