gpt4 book ai didi

forms - Drupal - 在 hook_form_alter 中设置默认值?

转载 作者:行者123 更新时间:2023-12-01 01:36:26 27 4
gpt4 key购买 nike

试图预填充我的一些表单字段,并且正在使用 hook_form_alter()。我尝试了几种不同的方法,但在这两种情况下,字段仍然是空的。我假设我需要设置 default_value 而不是 value 因为如果用户更改了字段中的内容,我希望它正确更新。那正确吗?

这是我一直在尝试的:

function mymodule_form_alter(&$form, &$form_state, $form_id) {

if($form_id == 'user_profile_form') {

if(arg(0) == 'user' && arg(1)) {

$user = user_load(arg(1));

$form['profile_company_site']= array('#default_value' => $user->profile_company_site);
$form['profile_blog_url']= array('#default_value' => $user->profile_blog_url);
$form['profile_my_website_url']= array('#default_value' => $user->profile_my_website_url);
$form['profile_first_name']= array('#default_value' => $user->profile_first_name);
$form['profile_last_name']= array('#default_value' => $user->profile_last_name);

}
}

}

我也这样试过:
function mymodule_form_alter(&$form, &$form_state, $form_id) {

if($form_id == 'user_profile_form') {

if(arg(0) == 'user' && arg(1)) {

$user = user_load(arg(1));

$form['profile_company_site'][#default_value'] = $user->profile_company_site);
$form['profile_blog_url'][#default_value'] = $user->profile_blog_url);
$form['profile_my_website_url']['#default_value'] = $user->profile_my_website_url);
$form['profile_first_name']['#default_value'] = $user->profile_first_name);
$form['profile_last_name']['#default_value'] = $user->profile_last_name);

}
}

}

最佳答案

两者似乎都采用正确的格式,但您的第一个将覆盖您为该字段设置的所有其他项目。因此,您最好选择第二个并添加它们。

在第二个中,您缺少一对夫妇的一些单引号。

$form['profile_company_site']['#default_value'] = $user->profile_company_site);

你确定你正在进入循环?

关于forms - Drupal - 在 hook_form_alter 中设置默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1579597/

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