Aby dokładnie odpowiedzieć na pytania:
Tworzenie typu zawartości w instalacji hook : Do utworzenia typu zawartości używasz node_type_save () , oto przykład z webform.install:
// Create the default webform type.
$webform_type = array(
'type' => 'webform',
'name' => st('Webform'),
'base' => 'node_content',
'description' => st('Create a new form or questionnaire accessible to users. Submission results and statistics are recorded and accessible to privileged users.'),
'custom' => TRUE,
'modified' => TRUE,
'locked' => FALSE,
);
$webform_type = node_type_set_defaults($webform_type);
node_type_save($webform_type);
node_add_body_field($webform_type);
Co zrobić w hook_uninstall : Zasadniczo po prostu posprzątaj po sobie, więc usuń zmienne utworzone przez moduł (przy użyciu zmiennej_del () ), usuń wszystkie pliki przesłane przez moduł (przy użyciu file_unmanaged_delete_recursive () ), usuń zdefiniowane typy treści (używając node_type_delete () ), itp.
Mam nadzieję że to pomoże!
Jednym z najlepszych sposobów na zachowanie tych informacji w kodzie jest użycie funkcji . Feaures mogą umieścić w kodzie:
I tak dalej.
Jedną fajną cechą funkcji jest integracja drush
drush features
da ci listę wszystkich funkcji na stronie, a ich statusdrush features revert all
przywróci wszystkie funkcje z powrotem do tego, co jest w kodzie (bardzo przydatne do uruchamiania po wdrożeniach)Pomóż to pomaga
źródło
Sprawdź moduł D7 Przykłady . node_example ma instalację i deinstalację.
Możesz być w stanie dopracować ten typ za pomocą narzędzi interfejsu, a następnie utworzyć funkcję (z modułem funkcji) i wyodrębnić odpowiednie części do funkcji instalacji niestandardowego modułu.
źródło
Jeśli chcesz utworzyć nowy typ zawartości z niektórymi polami, możesz użyć poniższego kodu.
Ten kod działa dla mnie idealnie.
źródło
Zrobiłem to w module MySpace Sync .
Pamiętam, że składałem to z różnych źródeł, ale nie pamiętam, jakie były wszystkie źródła. Możesz przeszukać tam repozytorium git, aby zobaczyć, co zrobiłem, ale w zasadzie jest to eksport każdego typu zawartości z modułem Content Copy CCK podczas instalacji, a następnie usunięcie wszystkich węzłów przed usunięciem typu zawartości podczas odinstalowywania.
źródło
Wypróbuj poniższy link, będzie pomocny.
Drupal 7 Field API - Ustaw nowy typ zawartości podczas instalacji i dodaj pola
źródło