passage de paramètre via hook_menu
Bonjour,
j'ai un bloc qui affiche une liste de liens web que je doit pouvoir editer via un bouton editer en face de chaque lien.
le problème est que je ne récupère pas la valeur dans mon formulaire via le hook menu.(Page non trouvée en fait)
la partie dans le block_view:
Code:
1 2 3 4 5
|
$content .= '<li class='.$class.' >'.l($record->title, $record->query, array('html' => TRUE, 'attributes' => array('target' => '_blank')));
$content .= l('<img src="'.$path.'/images/icon-favoris-edit.png" alt="editer"/>','favoris/edit?fid='.$record->fid, array('attributes' => array('title' => 'Editer un favori.', 'class' => array("icon-edit")), 'html' => TRUE));
$content .= '</li>'; |
Le hook_menu correspondant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
function favoris_menu() {
$items['favoris/add'] = array(
'title' => 'Ajouter un favori',
'page callback' => 'drupal_get_form',
'page arguments' => array('favoris_add_favoris_form'),
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
$items['favoris/remove'] = array(
'title' => 'Supprimer des favoris',
'page callback' => 'drupal_get_form',
'page arguments' => array('favoris_remove_favoris_form'),
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
$items['favoris/edit'] = array(
'title' => 'Editer des favoris',
'page callback' => 'drupal_get_form',
'page arguments' => array('favoris_edit_favoris_form'),
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
} |
Le formulaire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
function favoris_edit_favoris_form($form, &$form_state, $fid) {
global $user;
if (isset($fid)) {
$favoris = load_favoris($fid);
$form['fid'] = array(
'#type' => 'hidden',
'#value' => $fid,
);
$query = db_query("SELECT title, query FROM {favorites} WHERE fid = ".$fid);
}
$form['titre'] = array(
'#type' => 'textfield',
'#title' => t('Title'),
'#size' => 30,
'#default_value' => $query->title ,
'#required' => TRUE
);
$form['url'] = array(
'#type' => 'textfield',
'#title' => t('URL'),
'#size' => 100,
'#required' => TRUE,
'#default_value' => $query->query ,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t("Valider la modification"),
'#submit' => array('favoris_edit_favoris_form_submit'),
);
return $form;
} |
merci pour votre aide