Как я могу передать аргументы 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?
}
Ответы:
Просто добавьте в
$vars
качестве второго аргумента.и...
Цитата из drupal_get_form ()
источник
Дополнительные аргументы, которые вы передаете
drupal_get_form()
, доступны в$form_state['build_info']['args']
, но вы не можете иметь вызовы функций в вашемpage arguments
. Я бы предложил следующий подход:Остальное, что вам нужно, находится в справочнике Form API
источник
У меня была похожая проблема, и она была решена с помощью сочетания ответа @ kalabro и моего собственного способа ее решения.
Так что в основном у меня есть статическая целевая страница, где я использую токены. В
hook_tokens
форме регистрации звоню через$form = drupal_get_form('user_register_form', 'register-test');
.И, наконец, в hook_form_alter я проверяю, является ли строка «register-test». Это делается через
$form_state['build_info']['args'][0]
. Здесь функция:источник