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

如何对Drupal上的内容类型进行分类;“创建内容”;页面(/node/add),drupal,drupal-6,Drupal,Drupal 6,如何对“创建内容”页面上的内容类型进行分类/组织?我正在用CCK运行Drupal6.x。我有很多自定义内容类型,我的“创建内容”页面变得有点笨拙,因为它按字母顺序列出了所有内容。我想按类别对它们进行组织,这样用户会看到如下内容: Create Content Reports Report Type A Report Type B Events Event Type A Event Type B 我不想弄乱核心,但其

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

Create Content
    Reports
        Report Type A
        Report Type B
    Events
        Event Type A
        Event Type B
我不想弄乱核心,但其他任何东西(自定义模块、主题、现有模块功能)都是公平的。我希望我错过了一些简单的东西,因为这似乎是一个明显的要求,但我在Drupal网站上能找到的只是这些未回答的问题:


您应该能够在自定义模块中完成此任务,而无需对内核进行黑客攻击

您需要实现接管node/add的回调函数

差不多

function mymodule_menu_alter(&$items) {
  $items['node/add']['page callback'] = 'mymodule_node_add_page';
}
你应该开始了。然后,您将创建函数mymodule_node_add_页面,并且可以使用原始回调函数作为起点


您还可以通过重写在主题级别执行此操作。

您应该能够在自定义模块中完成此操作,而无需对核心进行黑客攻击

您需要实现接管node/add的回调函数

差不多

function mymodule_menu_alter(&$items) {
  $items['node/add']['page callback'] = 'mymodule_node_add_page';
}
你应该开始了。然后,您将创建函数mymodule_node_add_页面,并且可以使用原始回调函数作为起点


您也可以在主题级别通过覆盖来完成此操作。

有一些不同的方法来解决此问题。您可以覆盖旧的表单页面,也可以使用自定义模块创建新的表单页面。这样你就可以在你的模块里随心所欲了

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


我听说很多人使用视图为创建内容页面创建了这样的页面。选择哪种方法取决于您自己,具体取决于您希望如何执行此操作以及与内容类型关联的数据,其中一种方法比另一种方法更简单。但在不知道确切细节的情况下,我不能说是哪个。我建议您从视图开始,因为如果您可以使用它来获得所需的内容,您应该能够很快找到它。

有一些不同的方法来解决此问题。您可以覆盖旧的表单页面,也可以使用自定义模块创建新的表单页面。这样你就可以在你的模块里随心所欲了

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


我听说很多人使用视图为创建内容页面创建了这样的页面。选择哪种方法取决于您自己,具体取决于您希望如何执行此操作以及与内容类型关联的数据,其中一种方法比另一种方法更简单。但在不知道确切细节的情况下,我不能说是哪个。我建议您从视图开始,因为您应该能够很快找到,如果您可以使用它来获取所需的内容。

有一个模块可以满足您的需求,

有一个模块可以满足您的需求,

我不久前创建了一个沙盒模块,它应该可以实现以下功能:

唯一的问题是,我当时无法创建带有可拖动接口的管理后端


我知道这个问题已经很老了,但为了防止其他人也有同样的问题…

我不久前创建了一个沙盒模块,该模块应该可以执行以下操作:

唯一的问题是,我当时无法创建带有可拖动接口的管理后端


我知道这个问题很老,但为了防止其他人也有同样的问题…

内容类型组似乎不会影响创建内容页面。请参阅eaton在内容类型组上的评论,该评论似乎不会影响“创建内容”页面。参见eaton的评论,网址为