Drupal7中的唯一内容标题(主键与模块)

时间:2017-09-06 11:15:47

标签: mysql drupal drupal-7

stackoverflow中有一个类似的帖子,但它已经很老了,问题不完全相同:how-to-make-contents-title-unique

我试图创建一个网页作为Wiki。 我开始使用MediaWiki,但最后我改为Drupal。

这个想法是每个Drupal节点的标题(独立于创建的内容类型)必须是唯一的。我的意思是,表格中没有相同的标题"节点" Drupal。

执行此操作的一种方法是在列中创建主键" title"表"节点&#34 ;;但是修改Drupal的架构结构总是不是一个好的选择

title column in node table

其他选项是使用模块。我找到了其中两个:

这是非常陈旧的,而不是维护:Unique field

这个更好:Unique Content Title,问题就是说"内容标题对于每种内容类型都是唯一的" Unique Content Title

我需要的是独立于内容类型的独特之处。每个节点标题必须不同,与内容类型无关。

你知道什么是最好的选择吗?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

我会选择自定义解决方案。

使用hook_form_alter()为节点编辑表单设置自定义提交处理程序(因为在hook_node_presave()中取消节点保存已太晚了):

https://api.drupal.org/comment/51923#comment-51923

因此,在提交处理程序中检查提交的节点标题,搜索是否有另一个节点具有该标题,是否设置了一些错误并禁止成功提交表单。