我一直想尝试添加AJAX按钮。我可以在表格上这样做:
function hook_form_alter(&$form, &$form_state, $form_id) {
$form['suspend'] = array(
'#type' => 'button',
'#name' => 'foo',
'#value' => t('bar'),
'#ajax' => array('callback' => '_foo_bar'),
);
return $form;
}
工作正常。但是我不能让它用于用户配置文件或非表单,如下所示:
function hook_user_view_alter(&$build) {
$build['suspend'] = array(
'#type' => 'button',
'#name' => 'foo',
'#value' => t('bar'),
'#ajax' => array('callback' => '_foo_bar'),
);
return $build;
}
有这么简单的方法吗?我使用块和&这个网站上的观点,如果可能的话,宁可不必安装面板(:
谢谢!
答案 0 :(得分:2)
如果它不在表单中,请将其包装成表单:
function example_suspend_form($form, &$form_state) {
$form['suspend'] = array(
'#type' => 'button',
'#name' => 'foo',
'#value' => t('bar'),
'#ajax' => array('callback' => '_foo_bar'),
);
return $form;
}
function example_user_view_alter(&$build) {
$build['example_suspend_form'] = drupal_get_form('example_suspend_form');
}