允许用户添加分类术语,但要求管理员进行验证


8

我想允许用户添加新的分类法术语,但是我希望这可以由管理员进行验证。我设想的工作方式是让用户填写一个表单,该表单将向指定的管理员发送通知;然后,如果管理员接受了用户的请求,则将触发某些钩子或方法,以创建新的分类法术语。

有没有办法用Drupal做这种事情?


2
对于新模块来说,这绝对是个好主意(我不知道当前有任何模块可以提供该功能)。最好的开始可能是改头换面hook_taxonomy_term_insert
保罗

Answers:


8

在这里集思广益...现在分类法是实体系统的一部分,应该可以执行以下操作:

  1. 安装http://drupal.org/project/workflow
  2. 在分类法中添加一个名为“已发布”或“已批准”的字段,这是一个布尔复选框
  3. 设置工作流,该工作流在分类术语创建时被触发,并且仅允许管理员访问
  4. 对分类学术语写一个钩子,除非获得批准,否则将其删除(这是棘手的部分-有很多方法可以获取分类学术语,因此这可能会使这种方法无济于事)。

替代方案:由于您提到了用户填写表单-您可以很容易地使用名为“ Taxonomy Term”的内容类型或带有所需Taxonomy字段的内容,然后使用工作流/规则将批准的内容发送给管理员或自定义代码来创建新的分类术语。


1
好主意。要解决第四点,您可以轻松实现hook_taxonomy_term_view_alter(),检查该术语是否被批准,并应用于'#access' => FALSE渲染数组以防止其显示。那应该在整个系统范围内起作用(可能基于分类的视图使用字段而不是视图模式,并且不执行额外检查)。
克莱夫(Clive)

3

我从来没有做过这样的事情,但是我的方法是创建一个“提议的分类术语”内容类型,并通过Rules模块对逻辑建模。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.