¿Cómo puedo pasar argumentos a drupal_get_form()
Drupal 7?
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?
}
Respuestas:
Simplemente agregue
$vars
como segundo argumento.y...
Cita de drupal_get_form ()
fuente
Los argumentos adicionales a los que pasa
drupal_get_form()
están disponibles$form_state['build_info']['args']
, pero no puede tener llamadas a funciones en supage arguments
. Sugeriría el siguiente enfoque:El resto de lo que necesita está en la referencia de Form API
fuente
Tuve un problema similar y se resolvió con una combinación de la respuesta de @ kalabro y mi propia forma de tratarlo.
Así que básicamente tengo una página de inicio estática donde uso tokens. En el
hook_tokens
llamo al formulario de registro a través de$form = drupal_get_form('user_register_form', 'register-test');
.Y finalmente en hook_form_alter verifico si la cadena es "register-test". Esto se hace a través de
$form_state['build_info']['args'][0]
. Aquí la función:fuente