stackoverflow中有一个类似的帖子,但它已经很老了,问题不完全相同:how-to-make-contents-title-unique
我试图创建一个网页作为Wiki。 我开始使用MediaWiki,但最后我改为Drupal。
这个想法是每个Drupal节点的标题(独立于创建的内容类型)必须是唯一的。我的意思是,表格中没有相同的标题"节点" Drupal。
执行此操作的一种方法是在列中创建主键" title"表"节点&#34 ;;但是修改Drupal的架构结构总是不是一个好的选择
其他选项是使用模块。我找到了其中两个:
这是非常陈旧的,而不是维护:Unique field
这个更好:Unique Content Title,问题就是说"内容标题对于每种内容类型都是唯一的"
我需要的是独立于内容类型的独特之处。每个节点标题必须不同,与内容类型无关。
你知道什么是最好的选择吗?
提前谢谢!
答案 0 :(得分:1)
我会选择自定义解决方案。
使用hook_form_alter()
为节点编辑表单设置自定义提交处理程序(因为在hook_node_presave()
中取消节点保存已太晚了):
https://api.drupal.org/comment/51923#comment-51923
因此,在提交处理程序中检查提交的节点标题,搜索是否有另一个节点具有该标题,是否设置了一些错误并禁止成功提交表单。