嘗試預填充一些表單字段,並使用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