<?php
/**
* Implementation of hook_content_extra_fields().
*/
function pom_reservation_content_extra_fields($type_name) {
$extra = array();
if (variable_get('pom_reservation_node_default_state_'. $type_name, 'disabled') != 'disabled') {
if (variable_get('pom_reservation_form_location', 'node') == 'node') {
$extra['pom_reservation_node_info'] = array(
'label' => t('Pom Reservation information'),
'description' => t('Pom reservation form or current signup information.'),
'weight' => 10,
);
}
}
return $extra;
}
?>La fonction content_extra_field_weight($type_name, $pseudo_field_name) permet de retirer la valeur définie dans l'interface des fields du content type sur base de la clé défine dans le hook_content_extra_fields() (Dans l'exemple: 'pom_reservation_node_info).
Ceci peut servir aussi bien dans l'edit que dans la vue !
<?php
if (module_exists('content')) {
$weight = content_extra_field_weight($node_type, 'pom_reservation_node_info');
}
else {
$weight = 10;
}
if (
$pom_reservation_possible && ($admin_all || $admin_own)) {
$form['pom_reservation'] = array(
'#type' => 'fieldset',
'#title' => t('Pom Reservation settings'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
'#weight' => $weight,
'#tree' => TRUE,
);
?>

