Récupérer les champs d'un type de contenu

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je suis débutante en Drupal et j'essaye de développer en ce moment un module, mais je bloque...

Mon problème est : je voudrais générer des tables de BDD (la structure, pas le contenu), pour chaque type de contenu (comportant des champs CCK ou pas).

Par exemple :
Pour un type de contenu 'Job', dont les champs sont : title, body, field_entreprise (CCK), field_localisation (CCK),
je voudrais que mon module crée une table 'Job' avec les mêmes champs, et donc avec les caractéristiques qui vont avec...

Y a-t-il un moyen de récupérer tous les champs d'un type de contenu ? Une fonction permettant de faire cela que je n'ai pas trouvé ?

Si vous avez une petite piste, ça m'avancera déjà bien :)

Merci.

Forum : 
Version de Drupal : 

Bon j'ai trouvé comment récupérer le nom des champs pour chaque type de contenu, si ça intéresse quelqu'un :) :

$types = _node_types_build()->types;
$instances = array();
$field_options = array();

foreach ($types as $type => $name) {
        $instances += field_info_instances('node', $type);
}
       
ksort($instances);

foreach ($instances as $key => $info) {
    $field_options[$key]['field'] = $info['field_name'];
  $field_options[$key]['label'] = $info['label'];
}