2011-12-19 421 views
13

我想在另一個節點內顯示一個節點。所以我檢索第二個節點的節點ID,我想在另一個節點中渲染/打印/ ...。
但我不知道如何做到這一點。我試過drupal_rendernode_view,print,...但沒有結果。有什麼建議?呈現Drupal節點

$nid = $node->field_linked_fiche['und'][0]['nid']; 
$fullFiche = node_load($nid); 

編輯 - 全模板

<?php 

    /** 
    * @file 
    * Bartik's theme implementation to display a single Drupal page. 
    * 
    ... 
    */ 
    ?> 
    <div id="page-wrapper"><div id="page"> 

     <div id="header" class="<?php print $secondary_menu ? 'with-secondary-menu': 'without-secondary-menu'; ?>"><div class="section clearfix"> 

     <?php if ($logo): ?> 
      <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home" id="logo"> 
      <img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" /> 
      </a> 
     <?php endif; ?> 

     <?php if ($site_name || $site_slogan): ?> 
      <div id="name-and-slogan"<?php if ($hide_site_name && $hide_site_slogan) { print ' class="element-invisible"'; } ?>> 

      <?php if ($site_name): ?> 
       <?php if ($title): ?> 
       <div id="site-name"<?php if ($hide_site_name) { print ' class="element-invisible"'; } ?>> 
        <strong> 
        <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><span><?php print $site_name; ?></span></a> 
        </strong> 
       </div> 
       <?php else: /* Use h1 when the content title is empty */ ?> 
       <h1 id="site-name"<?php if ($hide_site_name) { print ' class="element-invisible"'; } ?>> 
        <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><span><?php print $site_name; ?></span></a> 
       </h1> 
       <?php endif; ?> 
      <?php endif; ?> 

      <?php if ($site_slogan): ?> 
       <div id="site-slogan"<?php if ($hide_site_slogan) { print ' class="element-invisible"'; } ?>> 
       <?php print $site_slogan; ?> 
       </div> 
      <?php endif; ?> 

      </div> <!-- /#name-and-slogan --> 
     <?php endif; ?> 

     <?php print render($page['header']); ?> 

     <?php if ($main_menu): ?> 
      <div id="main-menu" class="navigation"> 
      <?php print theme('links__system_main_menu', array(
       'links' => $main_menu, 
       'attributes' => array(
       'id' => 'main-menu-links', 
       'class' => array('links', 'clearfix'), 
      ), 
       'heading' => array(
       'text' => t('Main menu'), 
       'level' => 'h2', 
       'class' => array('element-invisible'), 
      ), 
      )); ?> 
      </div> <!-- /#main-menu --> 
     <?php endif; ?> 

     <?php if ($secondary_menu): ?> 
      <div id="secondary-menu" class="navigation"> 
      <?php print theme('links__system_secondary_menu', array(
       'links' => $secondary_menu, 
       'attributes' => array(
       'id' => 'secondary-menu-links', 
       'class' => array('links', 'inline', 'clearfix'), 
      ), 
       'heading' => array(
       'text' => t('Secondary menu'), 
       'level' => 'h2', 
       'class' => array('element-invisible'), 
      ), 
      )); ?> 
      </div> <!-- /#secondary-menu --> 
     <?php endif; ?> 

     </div></div> <!-- /.section, /#header --> 

     <?php if ($messages): ?> 
     <div id="messages"><div class="section clearfix"> 
      <?php print $messages; ?> 
     </div></div> <!-- /.section, /#messages --> 
     <?php endif; ?> 

     <div id="main-wrapper" class="clearfix"><div id="main" class="clearfix"> 

     <?php if ($breadcrumb): ?> 
      <div id="breadcrumb"><?php print $breadcrumb; ?></div> 
     <?php endif; ?> 

     <?php if ($page['sidebar_first']): ?> 
      <div id="sidebar-first" class="column sidebar"><div class="section"> 
      <?php print render($page['sidebar_first']); ?> 
      </div></div> <!-- /.section, /#sidebar-first --> 
     <?php endif; ?> 

     <div id="content" class="column"><div class="section"> 
      <?php if ($page['highlighted']): ?><div id="highlighted"><?php print render($page['highlighted']); ?></div><?php endif; ?> 
      <a id="main-content"></a> 
      <?php print render($title_prefix); ?> 
      <?php if ($title): ?> 
      <h1 class="title" id="page-title"> 
       <?php print $title; ?> 
      </h1> 
      <?php endif; ?> 
      <?php print render($title_suffix); ?> 
      <?php if ($tabs): ?> 
      <div class="tabs"> 
       <?php print render($tabs); ?> 
      </div> 
      <?php endif; ?> 
      <?php print render($page['help']); ?> 
      <?php if ($action_links): ?> 
      <ul class="action-links"> 
       <?php print render($action_links); ?> 
      </ul> 
      <?php endif; ?> 
      // Render second node inside this one 
      <?php 
       $nid = 739; // NOTE :: Hard coded, but need to be variable!! 
       drupal_render(node_view(node_load($nid))) 
      ?> 
      <?php print render($page['content']); ?> 
      <?php print $feed_icons; ?> 

     </div></div> <!-- /.section, /#content --> 

     <?php if ($page['sidebar_second']): ?> 
      <div id="sidebar-second" class="column sidebar"><div class="section"> 
      <?php print render($page['sidebar_second']); ?> 
      </div></div> <!-- /.section, /#sidebar-second --> 
     <?php endif; ?> 

     </div></div> <!-- /#main, /#main-wrapper --> 

     <div id="footer-wrapper"><div class="section"> 

     <?php if ($page['footer']): ?> 
      <div id="footer" class="clearfix"> 
      <?php print render($page['footer']); ?> 
      </div> <!-- /#footer --> 
     <?php endif; ?> 

     </div></div> <!-- /.section, /#footer-wrapper --> 

    </div></div> <!-- /#page, /#page-wrapper --> 
+0

我沒有測試它,但它應該與drupal_render(node_view(node_load($ NID)))工作 – 2011-12-19 16:37:19

+1

不,我告訴你,我已經嘗試過這... – Michiel 2011-12-19 16:39:34

+0

我想你做錯了什麼,因爲我做了同樣的事情('drupal_render(node_view(node_load($ nid)))')在同一頁面上顯示多個節點,它的工作完美。 – 2011-12-19 16:51:25

回答

58
<?php 
    $nid = 739; // NOTE :: Hard coded, but need to be variable!! 
    print drupal_render(node_view(node_load($nid))); 
?> 

注意工作:轉貼,如原來的答案得到刪除d。

+0

在轉貼上添加了一個註釋以防止版主混淆;) – 2011-12-20 11:57:07

+0

感謝Marius !! – Michiel 2011-12-20 14:11:44

+2

最好使用變量來避免嚴格警告 – Sadi 2013-06-19 07:13:13

4

我沒有測試它,但它應該與

drupal_render(node_view(node_load($nid))) 
+0

不,我告訴你,我已經嘗試過這... – Michiel 2011-12-19 16:39:34

+0

我想你做錯了什麼,因爲我做了同樣的事情('drupal_render(node_view(node_load($ nid)))')在同一頁面上顯示多個節點,它的工作完美。 – 2011-12-19 16:51:25

+0

你做了你的page.tpl? – Michiel 2011-12-19 18:29:38