Я как-то уже описывал процесс импорта Views, а теперь хочу расказать как импортировать Content type со всеми CCK полям.
Иногда бывает очень нужно при активации модуля автоматически создать все типы контента, с которыми этот модуль работает. Чтобы этого не делать вручную, я раскажу как это можно сделать автоматически.
Написал, чтобы самому не забыть, и другим помочь :)
Постарался максимально все описать, так что понятно будет даже новичкам.
Для начала необходимо активировать модуль "Content Copy", который входит в состав CCK
.
Теперь, если посмотреть список контента, то должна появиться новая вкладка:
Шмякаем ее, и выбираем какой контент будем импортировать:
Выбираем необходимые поля:
В результате получи нечто похожее на это:
Теперь в папке с модулем нужно создать файл module_name.install и написать в него hook_install() следующего содержания:
/**
* Implementation of hook_install()
*/
function module_name_install() {
$content_type_import = "..."; // текст импортированного типа контента
$form_state = array();
$form_state['values']['type_name'] = '';
$form_state['values']['macro'] = $content_type_import;
drupal_execute('content_copy_import_form', $form_state);
}
Кстати, есть модуль cck_import, который в точности повторяет выше мною описанное.
Также для импорта есть более серьезный модуль features.