【问题标题】:Drupal 7, user_profile_form form values not passing through drupal_get_formDrupal 7,user_profile_form 表单值不通过 drupal_get_form
【发布时间】:2013-07-12 15:57:46
【问题描述】:

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 的标准用户配置文件编辑页面,它就会被填充。

【问题讨论】:

    标签: forms drupal


    【解决方案1】:

    您应该能够使用user_load api 实现此目的。

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

    【讨论】:

    • 谢谢 Sumoanand。我已经设法从 user_load 获取用户变量,但我似乎无法将它们加载到表单本身中。
    【解决方案2】:

    解决了!我认为在 Stack Overflow 上发帖的行为有时会带你去解决它。就像$user->field_blah['und'][0]['value'] = 12345; 一样简单

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多