Drupal 7 - 我在哪里可以找到render()函数的模板?

时间:2011-03-15 06:26:43

标签: drupal themes

当我为节点创建自定义模板时,我发现Drupal添加了额外的HTML。

所以我改变了如下的page.tpl.php来测试

<div style='height:300px'>
  <?php print render($page['content']); ?>
</div>

然后将node.tpl.php更改为

hello

输出是:

<div style='height:300px'> 
    <div class="region region-content"> 
    <div id="block-system-main" class="block block-system"> 


  <div class="content"> 
    hello  </div> 
</div> 
  </div> 
</div> 

所有这些额外标签来自哪里?

我实际上期望<div style='height:300px'>hello</div>

2 个答案:

答案 0 :(得分:1)

drupal_render()可用于渲染所谓的可渲染数组。它们是自包含的,它们告诉render()使用哪个主题函数/模板。

尝试dpm($ page ['content']),然后应该有一个包含该信息的'#theme'键。

答案 1 :(得分:0)

dpm很好。 要打印h2和body,您可以在page.tpl.php中编写类似的内容。

<?php print render($page['content']['system_main']['nodes'][1]); ?></div> ?>