Wie kann ich drupal_get_form()
in Drupal 7 Argumente übergeben ?
function new_menu_callback() {
$vars = some_example_function(); // returns: array(1 => 'one', 2 => 'two');
$output = $vars[2];
$output .= drupal_render(drupal_get_form('new_form'));
}
function new_form($form, &$form_state) {
// How can I access $vars[1] from new_menu_callback() here?
}
Antworten:
Fügen Sie einfach
$vars
als zweites Argument hinzu.und...
Zitat aus drupal_get_form ()
quelle
Die zusätzlichen Argumente, an die Sie übergeben,
drupal_get_form()
sind in verfügbar$form_state['build_info']['args']
, aber Sie können keine Funktionsaufrufe in Ihrem habenpage arguments
. Ich würde den folgenden Ansatz vorschlagen:Der Rest dessen, was Sie benötigen, befindet sich in der Formular-API-Referenz
quelle
Ich hatte ein ähnliches Problem und es wurde mit einer Mischung aus @kalabros Antwort und meiner eigenen Art, damit umzugehen, gelöst.
Im Grunde habe ich eine statische Landingpage, auf der ich Token verwende. Im
hook_tokens
rufe ich das Anmeldeformular über an$form = drupal_get_form('user_register_form', 'register-test');
.Und schließlich überprüfe ich im hook_form_alter, ob der String "register-test" ist. Dies geschieht über
$form_state['build_info']['args'][0]
. Hier die Funktion:quelle