gpt4 book ai didi

drupal - 使用 hook_user_load() 修改用户对象

转载 作者:行者123 更新时间:2023-12-02 06:26:58 24 4
gpt4 key购买 nike

在 Drupal 6 中,您可以使用类似于以下代码的代码:

function example_user($op, &$edit, &$account, $category = NULL) {
switch($op) {
case 'load':
$account->fb_id ='xyz'
break;
}
}

在 Drupal 7 中,hook_user_load() 的文档说明如下:

Due to the static cache in user_load_multiple() you should not use this hook to modify the user properties returned by the {users} table itself since this may result in unreliable results when loading from cache.

为什么我得到的是用户而不仅仅是用户?

可以添加属性吗?

http://api.drupal.org/api/drupal/modules--user--user.api.php/function/hook_user_load/7

最佳答案

您将获得一个用户对象数组,因为该钩子(Hook)是从 user_load_multiple() 调用的。 ,通常调用 DrupalDefaultEntityController::load() ,然后调用 DrupalDefaultEntityController::attachLoad() .

可以添加自定义属性,但不要覆盖从{users}表加载的默认属性;正如文档中所报告的,在这种情况下,从缓存加载用户对象时可能会遇到一些问题,而这正是实体 API 通常所做的事情。

关于drupal - 使用 hook_user_load() 修改用户对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7932553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com