2012-07-03 120 views
4

前一段时间,我创建了两种内容类型:'protocol'和'protocol2' 他们有点不同,我还不确定其中一个最适合我的目的,所以我尝试了两个并创建了每个内容。有些测试后,我的结论是,“协议2”是一个我要去使用,并且我希望它被称为“协议”而不是“协议2”。但是我想保存协议内容类型的其他版本,所以我教过我会简单地给他们起个名字。Drupal:数据库中的内容类型不在结构>内容类型中的内容类型列表中

所以我试着打开它们的名字,但是在这个过程中,出现了我想使用的'protocol2'内容类型出错,它只是消失了。所以我教了。无论如何,我将'protocol'重命名为'protocol1'(名称和机器名称)。并重新创建了一个消失的人。我给它命名协议,并试图给它的机器名“协议”,但这个没有工作,所以我最后不得不将其命名为协议2一次。

我现在发现数据库中的node_type表中实际上有一个内容类型,其中包含机器名“protocol”,当我查看页面上的Structure> Content类型时,该内容类型不会显示出来。我可以简单地从该表中清除它,还是有其他更多的方法来做到这一点?

我一直在使用有机组,并且有一些类型为'protocol'或'protocol2'的内容类型与某些组相关联(我不记得是哪个)。我认为这是搞砸了组页面上的一个观点。标题为“将内容发布到组”的列表由“Post”和一个空列表元素组成。我可以在哪里控制这个列表?这不应该是一种观点吗?

回答

3

node_type表中,确保locked为0,对于所有“协议”类型,disabled都为0。更改所有的orig_type值,以匹配其目前的type值。清除admin/config/development/performance中的Drupal缓存。

他们都应该出现在你的“内容类型”列表中,您可以从那里工作。

这是Drupal 8的一个活动错误,在Drupal issue 515454下有任何补丁可能被反向移植。

+0

这是个问题,如果两行具有相同的orig_type价值?我有三种类型的协议: type:'protocol'orig_type:'protocol2'(我看不到), type:'protocol1'orig_type:'protocol', type:'protocol2'orig_type:'协议2' 。 设置orig_type与类型相同是什么?我是否也应该更改'protocol1'orig_type? – numfar

+0

我会改变所有的orig_types,以满足他们的类型公正,以确保它们不会互相冲突。我不认为重复的orig_types一定是一个问题,但我会避免它。问题在于Drupal在列出内容类型时会过滤出与其类型不匹配的orig_type值。它的思想是:添加协议并删除protocol2;添加protocol1并删除协议(删除以前的类型);添加协议2。 – scronide