Pull to refresh

Импорт Content type вместе с CCK полями

Reading time 1 min
Views 1.5K

Я как-то уже описывал процесс импорта 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.
Tags:
Hubs:
+19
Comments 14
Comments Comments 14

Articles