Gérer le poids de Node Hierarchy dans CCK

Il existe un superbe module dans Drupal qui nous permet de structurer les nodes d'une manière hiérarchisé parent enfant sous enfant, ce module est Node Hierchy.

Par contre ce module manque un peu de développement et surtout sa version 2.x qui tarde à venir.

Dans cette exemple on va s'intéresser au poids du fieldset de ce module qui est à 10 par défaut.

J'utilise la fonction  hook_content_extra_fields() de CCK qui nous permet de gérer ça.

1ere étape: ajouter dans le hook_form_alter la ligne suivante

<?php
  $form['hierarchy']['#weight'] = module_exists('content') ? content_extra_field_weight($node-&gt;type, 'hierarchy') : 10;
?>

2éme étape: Ajouter le hook_content_extra_fields()dans notre module

<?php
/**
 * Implementation of hook_content_extra_fields.
*/
function hook_content_extra_fields($type_name) {
  // verifier si le type de noeud est dans la liste de nodehierchy
  if(variable_get('nh_child_'. $type_name, FALSE) ) {
		$extra['hierarchy'] = array(
				'label' => t('hierarchy node'),
				'description' => t('definir hierarchy'),
				'weight' => 10,
		);
	}
	return $extra;	
}
?>