Submitted by jml44 on
Bonjour,
Je souhaite cloner un gros webform pour en créer plusieurs instances dont le titre et plusieurs questions seront paramétrables.
Le but du jeu est de cloner le formulaire en mettant à jour un champ hidden.
J'ai donc créer un formulaire avec une liste de sélection des titres disponibles et j'ai également implémenté le submit handler de ce formulaire :
myModule_myform_form_submit($fom, &$form_state){
$param = $form_state['values']['title'];
module_load_include('inc', 'clone', 'clone.pages');
clone_node_save(666);
drupal_set_message(t("Webform $param généré."));
}
Mon problème, comme vous pouvez le lire, est que je ne peux pas passer de paramètre à la fonction clone_node_save, la signature étant seulement composée du node id.
Et il me semble que je ne peux modifier ce webform cloné qu'en interceptant le hook_clone_node_alter, hook dans lequel je n'ai aucune connaissance de ma variable $param car il s'éxécute A LA FIN de clone_node_save($nid).
Je sais que je peux régler ce problème en utilisant une variable globale ou en utilisant variable_set et variable_get, mais je trouve ces deux technique un peu barbares.
N'y a-t-il pas un moyen plus efficace de transmettre cette variable $param ?
JML
J’avance et faute de mieux,
Permalien Soumis par jml44 le 20 Décembre, 2010 - 16:40
J'avance et faute de mieux, je me suis mis en place une classe de Registre statique.
C'est un peu mieux que les variables globales, mais si quelqu'un a mieux à proposer, je suis preneur.