在自定义模块中使用主题功能

时间:2011-03-10 18:25:00

标签: drupal-6 module theming

这是一个非常具体的问题,可能没有一个优雅的答案。我想在两个站点共享一个菜单,一个是Drupal而另一个不是。我正在使用自定义模块来实现hook_menu_link_alter,并希望将主题菜单输出到文件。关于这一点没有讨论,我们需要为其他站点公开一个html文件。我知道一种蛮力的方法,只需循环并重新创建主题函数已经完成的工作,但我想也许有办法直接实际使用主题函数。

现在我正在努力......

theme('links', theme('navigation-links', 'menu-name'), array('id' => 'menu-id'));

但没有收到任何输出。我也没有收到任何错误,这是一个无赖。 (注意:我不是100%导航链接的主题功能实际上是主题('navigation-links''))。

有什么想法吗?

(注意:我已经在新的Drupal StackExchange站点上发布了这个问题,但可能会删除它,因为社区还没有)

1 个答案:

答案 0 :(得分:0)

链接的主题功能需要一系列指向主题的链接。

你可以使用类似的东西:

theme('links', menu_navigation_links('menu-name'));

函数 menu_navigation_links ()存在于includes / menu.inc中,它使用函数 menu_tree_page_data ()根据当前页面返回菜单的树数据重新观看。

您可以使用名为 menu_tree_all_data ()的类似功能,但您必须对 menu_navigation_links ()对其返回的数据执行相同的操作。否则,你仍然会得到空的菜单。