尝试预填充一些表单字段,并使用hook_form_alter()。我尝试了几种不同的方式,但在这两种情况下,这些字段仍然是空的。我假设我需要设置default_value,而不是值,因为如果用户更改字段中的内容,我希望更新正确。是对的吗?Drupal - 在hook_form_alter中设置默认值?
这是我一直想:
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);
}
}
}
FYI devel模块在函数dsm()中提供了'漂亮'版本的var_dump()。 – mikewaters 2009-10-16 19:44:15
谢谢,这样做! – n00b0101 2009-10-16 19:51:49
我个人喜欢使用krumo(“what_I_want_to_dump”); – saadlulu 2011-10-10 07:45:03