poți folosi întotdeauna drupal_get_form
funcția de a prelua o formă în drupal. această funcție vă permite să trimiteți orice argumente necesare, de exemplu, o puteți numi astfel:
$form = drupal_get_form('SOME_FORM_ID', $argument1);
în acest caz, $argument1
valoarea este transmisă și poate fi accesată în hook_form_SOME_FORM_ID_alter
după cum urmează:
if(isset($form_state['build_info']['args'][0]) {
$form['SOME_ELEMENT']['#default_value'] = $form_state['build_info']['args'][0]; //ca $arguments1 este trecut ca prim parametru
}
acum având în vedere acest lucru, pentru a obține un formular web folosind drupal_get_form
aveți nevoie de acest fragment de cod (mai bine folosiți hook_preprocess_HOOK pentru a adăuga formular web la matricea dvs. de randare):
$nid = ; //ID-UL NODULUI WEBFORM
$nod = node_load($nid);
$submission = (obiect) array();
$enabled = TRUE;
$previzualizare = FALSE;
$webform = drupal_get_form('webform_client_form_' . $nid, $node, $submission, $enabled, $preview, $YOUR_ADDITIONAL_ARGUMENT);
și apoi, în fișierul șablon, puteți pur și simplu să tipăriți formularul $web:
print drupal_render($webform);
după cum am spus, puteți folosi hook_form_alter pentru a seta valoarea implicită a elementului ascuns folosind parametrul trimis.