【问题标题】:is there a way to use a view as a menu in drupal?有没有办法在drupal中使用视图作为菜单?
【发布时间】:2010-08-17 15:42:54
【问题描述】:

我希望在主链接或辅助链接中将视图显示为菜单。

我搜索并查找了所有模块,但没有运气。

我应该手动构建这个功能 ==> 构建一个模块吗?

提前致谢

【问题讨论】:

    标签: php drupal drupal-views drupal-modules


    【解决方案1】:

    使用theme_links() 之类的主题函数将主要和次要链接(实际上是所有菜单)呈现为链接的无序列表。通过在视图中使用 HTML 列表样式,您可以获得非常接近相同的功能。

    您不能完全复制它,因为 Drupal 的菜单系统需要静态菜单项:它不像查询结果那样处理通配符。

    也就是说,Drupal 的菜单系统是缓存的,并且仅根据请求重建(例如,通过手动添加菜单项、清除缓存等)。另一方面,视图是查询的包装器:每个当您访问视图时,除非它也被缓存,否则它会运行查询以获取最新结果。

    因此,如果您要将视图注入菜单,它只会是第一次请求时的结果,任何后续更改都需要重建菜单。

    我建议的解决方案将让您保留视图的功能,将其主题化为看起来像一个菜单,并避免菜单系统的警告。

    【讨论】:

    • 将视图注入到菜单中,虽然在技术上是可行的,但实际上是在做菜单系统无法处理的事情:他们的菜单系统希望菜单项是静态的。有人试图在 GitHub 上 integrate Views with the menu system,但我无法谈论它的可行性:我想它非常脆弱。
    • 感谢您的澄清,我想我从您所说的中学到了一些东西,好的,有没有一个模块可以获取视图结果并将它们批量添加到菜单中?
    • 让我更清楚一点,我的意思就像一个快速工具,可以将一堆项目添加到菜单中,并让它们静态地驻留在菜单中。管理员可以使用此工具快速添加菜单链接。
    猜你喜欢
    • 2021-10-16
    • 1970-01-01
    • 2020-11-02
    • 2018-04-13
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 2020-03-25
    相关资源
    最近更新 更多