2012-09-28 171 views
0

在Drupal 7中,我想在用戶閒置時將節點添加到另一個節點。在hook_node_view的另一個節點內添加節點的內容

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

在我的模塊中執行此操作的正確方法是什麼?

回答

0

你只需要做出一個小的變化,據我可以告訴:

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

怎麼能只包括節點純文本內容? – Joseph

+0

你的意思是身體領域?例如:'$ items = field_get_items('node',$ node,'body'); $ body_item = array_shift($ items); $ body_text = $ body_item ['safe_value']; ' – Clive

相關問題