function user_login_alter(&$form, &$form_state, $form_id) {
$form['#submit'][] = 'something something';
dpm($form); //didn't do anything?
var_dump($form); //printed something
}
dpm($form);
没有打印任何内容,任何线索为什么? var_dump
在这种情况下工作。
答案 0 :(得分:1)
这是许可问题。 dpm()
和其他devel
函数要求当前用户具有'access devel information'
权限才能执行。
由于您需要触发用户登录表单构建器,因此您可能只需在尝试调试时注销即可。
但在这种情况下,您的用户角色为'anonymous'
,而您(并且永远不应该)拥有“访问开发信息”权限。
只需使用drupal_get_form()
从您的页面回调中构建并返回表单,以便在登录时进行调试。