Pour répondre exactement à vos questions:
Création d'un type de contenu dans l'installation de raccordement : vous utilisez node_type_save () pour créer le type de contenu, voici un exemple de 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);
Que faire dans hook_uninstall : Fondamentalement, nettoyez- vous après vous-même, supprimez donc les variables créées par votre module (en utilisant variable_del () ), supprimez tous les fichiers téléchargés par le module (en utilisant file_unmanaged_delete_recursive () ), supprimez les types de contenu définis (en utilisant node_type_delete () ), etc.
J'espère que cela t'aides!
L'une des meilleures façons de conserver ces informations dans le code consiste à utiliser les fonctionnalités . Les fonctionnalités peuvent mettre en code:
La liste continue.
Une fonctionnalité intéressante sur les fonctionnalités est l'intégration drush
drush features
vous donnera une liste de toutes les fonctionnalités du site, et leur étatdrush features revert all
ramènera toutes les fonctionnalités à ce qui est dans le code (vraiment pratique pour fonctionner après les déploiements)Aide cela aide
la source
Découvrez le module Exemples D7 . node_example a installer et désinstaller.
Vous pourrez peut-être étoffer le type avec les outils d'interface, puis créer une fonctionnalité (avec le module de fonctionnalités) et extraire les parties pertinentes dans la fonction d'installation de votre module personnalisé.
la source
Si vous souhaitez créer un nouveau type de contenu avec certains champs, vous pouvez utiliser le code ci-dessous.
Ce code fonctionne parfaitement pour moi.
la source
Je l'ai fait dans le module MySpace Sync .
Je me souviens d'avoir rassemblé cela à partir de diverses sources, mais je ne me souviens pas quelles étaient toutes les sources. Vous pouvez parcourir le référentiel git pour voir ce que j'ai fait, mais il s'agit essentiellement d'une exportation de chaque type de contenu avec le module Content Copy de CCK à l'installation, puis de supprimer tous les nœuds avant de supprimer le type de contenu lors de la désinstallation.
la source
Essayez le lien ci-dessous, il vous sera utile.
API Drupal 7 Field - Configurez un nouveau type de contenu lors de l'installation et ajoutez des champs
la source