Существует множество причин, по которым вы можете захотеть сделать это без CCK или полей, и лучший пример можно найти в модуле node_example в проекте examples , который можно найти по адресу: http://drupalcode.org/project/examples.git/tree/refs/heads/6.x-1.x:/node_example. Вы также можете просмотреть документацию на api.drupal.org .
Короткая версия заключается в том, что вам нужно определить свой собственный тип узла с помощью hook_node_info (), а затем определить все хуки для _load (), _insert (), _update (), _delete (),_access (), _validate () и _view () в дополнение к определению вашей схемы в вашем hook_schema и управлению вашими таблицами самостоятельно.
К сожалению, нет хорошего примера для Drupal 7 как модуля node_example для 7был преобразован для использования полей вместо перечисленных выше хуков, которые по-прежнему полностью документированы на api.drupal.org (теперь они обычно работают с массивом узлов вместо одного узла, но в остальном идентичны).