我正在为Drupal开发一个模块,该模块提供一个登录表单,并在提交用户cURL后,使用这些凭据登录另一个网站。
如果一切顺利,模块会将用户重定向到他们的配置文件,并显示获取的信息cURL。这就是事情出错的地方。
我要做的是通过用户名获取$account
变量。这都在module_name_form_submit
函数中:
$account = user_load(array('name' => check_plain($user)));
然后将我想显示的数据附加到它上:
$account->content['module_name'] = array(
'#title' => t('Module Title'),
'#values' => get_info()
);
如果我在重定向之前执行print_r
,那么数据确实存在。但重定向后:
$form_state['redirect'] = "users/{$user}";
我不再可以访问相同的数据。因此,问题是,我如何以永久的方式设置该变量,并在用户配置文件页面中重定向后访问它?(我尽量避免上课)。
提前感谢:-)
如何使用variable_set($name,$value);根据您的问题:
variable_set('module_name_variable', $account);
当您需要访问数据时,请使用variable_get($name,$default);根据您的问题:
variable_get('module_name_variable');
请告诉我它是否对你有效。
感谢
也许您可以使用value表单元素将用户值添加到表单中。
$form['userdata'] = array('#type' => 'value',
'#value' => $user_load(array('name' => check_plain($user)));
我认为这可能会以一种"drupalish"的方式满足你的需求。
希望有帮助,祝你好运!