是否可以在Drupal 6中更改节点上的内容类型?

时间:2009-12-14 18:19:38

标签: drupal drupal-6

我继承了一个Drupal网站,其中(由于某种原因)新闻有两种不同的内容类型:一种用于新闻稿,一种用于其他所有内容。我想将两者结合起来,并使用分类法对新闻稿和其他新闻类型进行分类。

甚至可以这样做吗?该站点使用了许多模块,包括Views和CCK,我不知道这样的改变会对模块数据产生多大影响。

4 个答案:

答案 0 :(得分:8)

http://drupal.org/project/node_convert

上面链接的模块非常适合将节点从一种内容类型迁移到另一种内容类型。

完成后,您可以使用VBO(http://drupal.org/project/views_bulk_operations)来大规模操纵您需要的分类法更改。

答案 1 :(得分:1)

有可能吗?是。

容易吗?否。

引用一个好用的短语:

  

如果没有损坏,请不要修复它。

您可以让您的网站像您描述的那样工作,如果您开始使用您要构建的干净网站,那就没问题了。这只是一个选择问题。现在,当您拥有包含视图,内容和其他内容的数据库时,它并不容易。你必须:

  • 浏览所有视图,并将其设置为使用分类法和1内容类型。
  • 将所有数据迁移为1种内容类型。这可能会为此内容类型设置CCK以适应这两者,并在迁移数据时将其考虑在内。
  • 内容类型可能在其他地方,自定义模块,设置等中使用,这些也需要跟踪和修复。

所以这很多工作很少/没有收获。

答案 2 :(得分:1)

当然有可能。如果您已经很好地理解了每种内容类型的使用方式,那么这种变化并不一定很困难。你只需要小心,因为这是一个根本性的改变。

如果您认为两种不同的内容类型是不合理的,实际上是信息的重复,那么您可以证明合并这两种内容是合理的。好管家!

您可以逐步淘汰不需要的内容类型,然后当您确信自己已经恰到好处时,请构建自己的合并模块,将旧节点移动到新格式。您还可以构建自己可以在以后处理的测试视图和内容类型。

安装devel模块也可以帮助您对节点的外观进行编程概述。您不应该让这个模块在实时网站上运行,因为它会影响性能。

有时,内容分类和内容类型之间存在相当多的交叉。它有助于问自己:什么是对象的分类以及属性是什么?

答案 3 :(得分:0)

可以更改节点的内容类型 问题是如果内容类型使用不同的CCK字段,这些字段存在于内容类型中但不存在于另一个内容类型中。在这种情况下,如果更改内容类型,那些字段将不会出现在转换后的节点中;您应手动转换所有这些字段,或创建自定义模块来执行此操作。