如何在Drupal“创建内容”页面上对内容类型进行分类(/ node / add)

时间:2009-09-30 21:30:37

标签: drupal drupal-6

如何在“创建内容”页面上对内容类型进行分类/整理?我用CCK运行Drupal 6.x.我有很多自定义内容类型,我的“创建内容”页面变得有点笨拙,因为它按字母顺序列出它们。我想按类别组织它们,因此用户会看到类似的内容:

Create Content
    Reports
        Report Type A
        Report Type B
    Events
        Event Type A
        Event Type B

我不想搞乱Core,但其他任何东西(自定义模块,主题,现有模块功能)都是公平的游戏。我希望我错过了一些简单的东西,因为这似乎是一个明显的要求,但我在Drupal网站上找到的所有这些都是未解决的问题:

4 个答案:

答案 0 :(得分:3)

您应该能够在自定义模块中完成此操作,而不会破坏核心。

您需要实现hook_menu_alter()来接管node / add的回调函数。

这样的东西
function mymodule_menu_alter(&$items) {
  $items['node/add']['page callback'] = 'mymodule_node_add_page';
}

应该让你入门。然后,您将创建函数 mymodule_node_add_page ,您可以使用原始回调函数作为起点。

您也可以通过覆盖theme_node_add_list()在主题级别执行此操作。

答案 1 :(得分:1)

有一些不同的方法来解决这个问题。您可以覆盖旧表单页面或只使用自定义模块创建一个新表单页面。你可以在你的模块中做你想做的事。

另一种可能性是使用视图来做同样的事情。这样做可以让您访问许多强大的功能,因为您可以执行视图模块允许的任何操作。您可以创建不同的方式来对内容类型进行排序。

我听说很多人使用过视图为创建内容页面制作这样的页面。您选择哪种方法取决于您的具体操作方式以及与内容类型相关联的数据,一种方法比另一种更容易。但不知道具体细节,我不知道哪个。我会建议你从观点开始,因为你很快就能找到,如果你能用它来得到你想要的东西。

答案 2 :(得分:0)

有一个模块能够满足您的需求,Content type groups

答案 3 :(得分:0)

我前段时间创建了一个沙箱模块,应该这样做: https://drupal.org/sandbox/YaronTal/1260038

唯一的问题是我当时无法创建具有可拖动界面的管理员后端。

我知道这个问题已经过时了,但万一有其他人遇到同样的问题......