Drupal 7,user_profile_form表单值不通过drupal_get_form

时间:2013-07-12 15:57:46

标签: forms drupal

Drupal 7,我想将用户配置文件表单加载到模块页面中。我还有一个用户可以配置的自定义字段,让我们称这个字段为“blah”。它是作为下拉字段实现的。

当我使用以下代码加载表单时,除了不填充其用户存储数据的blah字段外,一切都很好。

form_load_include($form_state, 'inc', 'user', 'user.pages');
global $user;
$output .= drupal_render((drupal_get_form('user_profile_form', $user)));

有谁知道如何将blah变量/值/用户数据放入此渲染表单中?如果我转到http://example.com/user/2/edit的标准用户个人资料编辑页面,则会填充该页面。

3 个答案:

答案 0 :(得分:2)

您应该可以使用user_load api实现此目的。

global $user;
$user_fields = user_load($user->uid);
print_r($user_fields);

答案 1 :(得分:1)

解决了!我认为在Stack Overflow上发布的行为有时会带你到处理它。它就像$user->field_blah['und'][0]['value'] = 12345;

一样简单

答案 2 :(得分:1)

可能的解决方案: - 1)如果它的自定义字段使其属于用户实体包,并且在将其附加到用户bunble时为用户注册表单为true。 2)你可以使用field_attach_form, 3)形式改变