我正在drupal的第一個網站上工作,並且還閱讀了主題和模塊開發的一些基礎知識。現在,我創建(壓倒一切的主題鮮明的)我自己的主題,即page.tpl.php中並沒有要求輸出主菜單項的主題()函數:爲什麼要在page.tpl.php中使用theme()函數?
<?php print theme('links__system_main_menu', array('links' => $main_menu, 'attributes' => array('id' => 'main-menu', 'class' => array('links', 'inline', 'clearfix')), 'heading' => t('Main menu'))); ?>
我大致瞭解該功能是什麼,但爲什麼我應該在這種情況下使用它?如果從模塊輸出數據 - 通過選定的主題風格化輸出,這將是有意義的。但在這種情況下,我需要的所有東西都直接在$main_menu
數組中,我可以將其設置爲無論如何,但是我想要什麼,theme()
函數在page.tpl.php
中有什麼用處?
答案可能不會提供OP要求的內容,但他現在需要知道的內容。加1指出Drupal的良好實踐。 – D34dman 2015-03-31 10:32:34
它不起作用 - 我將該函數添加到template.php,並且print $ main_menu正在返回「Array」字符串。順便說一句。 $ main_menu已經在page.tpl.php中定義了,註釋如下:* - $ main_menu(array):一個包含 – Incredible 2015-03-31 11:11:53
的主菜單鏈接的數組你可以在你的template.php中搜索main_menu嗎?它應該在那裏定義,因爲這個變量在你的page.tpl.php中可用。你應該找到它的定義,並覆蓋它。 – 2015-03-31 16:11:17