我正在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