Sho*_*waz 7 drupal drupal-6 drupal-fapi drupal-modules
对于某些要求,我需要传递其他信息以形成提交处理程序.在表单api中,将自定义提交处理程序定义为
$additional_args = array();
$form['#submit'][] = 'my_submit_handler'
Run Code Online (Sandbox Code Playgroud)
我希望提交处理程序为
function my_submit_handler($form, &$form_state, $additional_args){
Run Code Online (Sandbox Code Playgroud)
goo*_*orp 14
提交处理程序由drupal fapi调用,所以你不能做那样的事情.相反,你可以做的是将你需要的东西添加到$form或者$form_state.通常的方法是:
在表单中添加了一个字段,键入值以存储该值.如果表单定义中包含值,请不要这样做.
$form['store'] = array(
'#type' => 'value',
'#value' => $value
);
Run Code Online (Sandbox Code Playgroud)
这将是$form_state['values']['store'].
添加值$form_state['storage'],如果要将验证句柄中的变量转移到提交处理程序,请执行以下操作:
// Validation.
$form_state['storage']['value'] = $value;
...
// Submit
$value = $form_state['storage']['value'];
// Need to unset stored values when not used anymore.
unset($form_state['storage']['value']);
Run Code Online (Sandbox Code Playgroud)小智 9
Drupal 7:自定义参数自动传播troug $ form_state ['build_info'] ['args']这在http://api.drupal.org/api/drupal/includes!form.inc/function/drupal_get_form/7中说
例如:
hook_form($form, &$form_state, $myAdditionnalArg) {...}
Run Code Online (Sandbox Code Playgroud)
然后进去
hook_form_submit($form, &$form_state) {
Run Code Online (Sandbox Code Playgroud)
...
//$form_state['build_info']['args']是一个数组,在索引0处包含参数的值$myAdditionnalArg
...
| 归档时间: |
|
| 查看次数: |
15758 次 |
| 最近记录: |