【问题标题】:Show Active terms from vocabulary using taxonomy menu使用分类菜单显示词汇表中的活跃术语
【发布时间】:2013-12-27 13:21:18
【问题描述】:
我想要什么:活跃主菜单中的词汇。
到目前为止我做了什么:
- 我使用了 taxonomy_menu 模块。
- 已创建分类(类别)。
- 添加了具有布尔值的“状态”字段(0 = 非活动,1 = 活动)。
- 在类别中添加了两个术语(Cat1 和 Cat2)。
- Cat1 = 活动,Cat2 = 不活动。
- “编辑词汇”部分的配置菜单。
问题:所有词汇都包含在主菜单中。我希望只有那些Status = Active 的术语应该显示在主菜单中。
【问题讨论】:
标签:
drupal-7
drupal-taxonomy
【解决方案1】:
让taxonomy_menu 模块知道您的status 字段的过程似乎很难完成,特别是如果您需要(可能会)在status 值更改时重建分类菜单。
一个可能更简单的解决方案是在主题级别采取行动,将.inactive 类添加到非活动项目并将其隐藏在 css 中。由于分类菜单模块对主题没有任何作用,因此应该使用菜单模块主题功能来处理。所以你最终会为你的每个菜单项编写一个(例如)CUSTOM_menu_link() 函数,你需要在其中测试链接是否来自分类生成的菜单(不知道你怎么能做到这一点)网站,然后,如果是这种情况,加载术语,测试status 字段并采取相应措施。不完全是一个优雅的解决方案,而且开销很大。
如果可能,我建议您在配置分类菜单后,使用内置功能从 admin/structure/menu/manage/main-menu 的管理界面启用或禁用菜单项。