Um Ihre Fragen genau zu beantworten:
Erstellen eines Inhaltstyps in der Hook-Installation : Sie verwenden node_type_save () , um den Inhaltstyp zu erstellen. Hier ein Beispiel aus 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);
Was Sie in hook_uninstall tun sollten : Bereinigen Sie einfach nach sich selbst, löschen Sie also die von Ihrem Modul erstellten Variablen (mit variable_del () ), löschen Sie alle vom Modul hochgeladenen Dateien (mit file_unmanaged_delete_recursive () ), löschen Sie definierte Inhaltstypen (mit node_type_delete () ). etc.
Hoffe das hilft!
Eine der besten Möglichkeiten, diese Informationen im Code zu speichern, ist die Verwendung von Funktionen . Funktionen können in Code eingefügt werden:
Die Liste geht weiter.
Ein nettes Feature über Features ist die Drush-Integration
drush features
Sie erhalten eine Liste aller Funktionen auf der Website und deren Statusdrush features revert all
alle Funktionen auf den Code zurück (sehr praktisch für die Ausführung nach Bereitstellungen).Hilfe das hilft
quelle
Schauen Sie sich die D7- Beispiele an Modul . node_example hat installiert und deinstalliert.
Möglicherweise können Sie den Typ mit den Schnittstellentools ausarbeiten und dann eine Funktion (mit Funktionsmodul) erstellen und relevante Teile in die Installationsfunktion Ihres benutzerdefinierten Moduls extrahieren.
quelle
Wenn Sie einen neuen Inhaltstyp mit einigen Feldern erstellen möchten, können Sie den folgenden Code verwenden.
Dieser Code funktioniert perfekt für mich.
quelle
Ich habe dies im MySpace Sync- Modul getan .
Ich erinnere mich, dass ich das aus verschiedenen Quellen zusammengesetzt habe, aber ich erinnere mich nicht, was alle Quellen waren. Sie können dort im Git-Repository nachsehen, was ich getan habe. Grundsätzlich handelt es sich jedoch um einen Export jedes Inhaltstyps mit dem CCK-Modul "Inhaltskopie" bei der Installation und anschließend um das Löschen aller Knoten, bevor der Inhaltstyp bei der Deinstallation gelöscht wird.
quelle
Versuchen Sie den Link unten, es wird hilfreich sein.
Drupal 7-Feld-API - Richten Sie beim Installieren und Hinzufügen von Feldern einen neuen Inhaltstyp ein
quelle