2011-03-15 125 views
0

當我爲節點創建自定義模板時,發現Drupal添加了額外的html。Drupal 7 - 我在哪裏可以找到render()函數的模板?

所以我改變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>

+0

自己找到了。 – Moon 2011-03-15 06:41:10

+0

轉到admin-> structure-> blocks->點擊內容上的'configure' - >爲您的主題選擇'none' – Moon 2011-03-15 06:41:47

+0

您真的不想這樣做,它會將主要內容完全從主題中移除。例如,如果你在管理主題上這樣做,你將無法恢復它。 – Berdir 2011-03-15 07:09:46

回答

1

drupal_render()可以用來渲染所謂的渲染陣列。這些是自包含的,它們告訴render()使用哪個主題函數/模板。

嘗試dpm($ page ['content']),然後應該有一個包含該信息的'#theme'鍵。

0

與dpm不錯。 要打印h2和body,你可以在page.tpl.php中寫這樣的東西。

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