【问题标题】:Using theme functions in custom module在自定义模块中使用主题功能
【发布时间】:2011-03-10 18:25:00
【问题描述】:

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

现在我正在尝试...

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

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

有什么想法吗?

(注意:我也在新的 Drupal StackExchange 站点上发布了这个问题,但由于社区还没有,所以可能会删除它)

【问题讨论】:

    标签: drupal-6 module theming


    【解决方案1】:

    链接的主题化功能需要一个主题链接数组。

    你可以使用类似的东西:

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

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

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

    【讨论】:

    • 就是这样,只是我的一堆混乱。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2020-10-24
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多