phpdrupaldrupal-6drupal-modulescck

Drupal programmatically delete node type and/or cck fields


My custom module creates a node type with a few CCK fields.

When the users un-installs, I need the CCK fields to be deleted so the old CCK occurances don't interfere with the new ones to be created should the module be re-installed.

I am trying the following code:

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

But the content_field_instance_delete cones back with a function not recognized.


Solution

  • CCK's CRUD functions live in a file that isn't included by default in the Drupal bootstrap, you just need to include it in your function:

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