2010-08-09 65 views
0

我在2个不同的块中使用2个不同的菜单。它们根据用户访问的页面启用/禁用。2在Drupal中的2个菜单的面包屑

现在,我有一个面包屑问题:他们只能使用主菜单,而不是第二个。

我需要自动将breadcrumbs作为其他菜单。

感谢

回答

0

Drupal的菜单系统只设置一个同时启动菜单:如果你想拥有的在同一时间在同一页上的两个面包,你将需要使用menu_set_active_menu_name()做一些来回玩杂耍。

但是,如果您只想显示一个,请考虑使用Menu Breadcrumb模块,该模块根据页面自动设置活动菜单。您还可以为存在于多个菜单中的页面设置菜单优先级。

+0

,我已经在设置中选中这两个菜单。但我只能优先选择两个菜单中的一个。有些页面属于两个菜单(我有2种语言,每个菜单根据所选语言显示)。总之,如果页面翻译成两种语言并且属于两个菜单,那么即使我使用第二个菜单,第一个菜单也总是被选为面包屑。 – aneuryzm 2010-08-09 09:21:58

+0

这是Drupal核心的行为:一次只有一个活动菜单。如果您只是尝试本地化相同的内容,则设置两个不同的菜单是不可行的:使用核心的内容翻译和区域设置模块来提供相同内容和IA的语言特定版本。 – 2010-08-09 21:56:22

+0

关键是我的英文菜单有完全不同的意大利语结构。但很多网页都有英文和意大利文版本。 – aneuryzm 2010-08-10 13:22:36

0

这个问题是不是严格编程相关然而,:

Drupal的面包屑按照菜单项,因为它们被启用。无论菜单项是否可见,也不管菜单(容器)如何保存菜单。不在菜单中的项目(如节点!)不会有面包屑。

也就是说,有一个例外,模块可以用drupal_set_breadcrumb()覆盖面包屑,如果他们这样做,最后一个设置breadcrumb可以设置breadcrumb。例如。分类模块在分类页面上设置面包屑。

  1. 您可以在模块中设置硬编码的面包屑。
  2. 您应该调查为什么面包屑在这种情况下不遵循菜单。
  3. 你可以调查是允许调整的痕迹行为实际上,我使用“菜单面包屑”的模块,如hansel