我的自定义模块创建了一个带有几个 CCK 字段的节点类型。

当用户卸载时,我需要删除 CCK 字段,以便在重新安装模块时旧的 CCK 发生不会干扰要创建的新的 CCK。

我正在尝试以下代码:

function mymodule_uninstall(){
   content_field_instance_delete('field_ccktest', 'my-node-type', FALSE);
}

但是 content_field_instance_delete 会返回一个无法识别的函数。

最佳答案

CCK 的 CRUD 函数存在于一个默认情况下不包含在 Drupal bootstrap 中的文件中,您只需要将它包含在您的函数中:

function mymodule_uninstall(){
  module_load_include('inc', 'content', 'includes/content.crud');
  content_field_instance_delete('field_ccktest', 'my-node-type', FALSE);
}

关于php - Drupal 以编程方式删除节点类型和/或 cck 字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8052669/

10-11 10:27