Drupal dpm没有在alter hook上记录任何东西?

时间:2018-05-25 08:37:03

标签: php drupal

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在这种情况下工作。

1 个答案:

答案 0 :(得分:1)

这是许可问题。 dpm()和其他devel函数要求当前用户具有'access devel information'权限才能执行。

由于您需要触发用户登录表单构建器,因此您可能只需在尝试调试时注销即可。

但在这种情况下,您的用户角色为'anonymous',而您(并且永远不应该)拥有“访问开发信息”权限。

只需使用drupal_get_form()从您的页面回调中构建并返回表单,以便在登录时进行调试。