2010-08-17 96 views

回答

3

第一和第二链路(事实上,所有的菜单)呈现为使用像theme_links()主题功能链接无序列表。通过在视图中使用HTML列表样式,您可以非常接近相同的功能。

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

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

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

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

+0

尽管在技术上可行,将视图注入菜单是为了做一些菜单系统实际上不具备的功能:菜单系统期望菜单项是静态的。有人试图在GitHub上[将Views与菜单系统整合在一起](http://github.com/computerminds/views_build_menu),但我不能说它的可行性:我想它非常脆弱。 – 2010-08-18 08:24:01

+0

感谢您的详细说明,我想我从您所说的内容中学到了一些东西,那么是否有一个模块可以获得视图结果并批量添加到菜单中? – 2010-08-18 08:38:52

+0

让我更清楚它,我的意思就像一个快速的工具,添加一堆项目的菜单,并让他们静态地驻留在菜单中。 管理员可以使用此工具来快速添加菜单链接。 – 2010-08-18 08:42:55

相关问题