我正在尝试主题我的Drupal网站的用户配置文件形式。我在主题的template.php文件中使用了hook_form_alter。Drupal 7 - 主题用户配置文件形式
该代码与我用于编辑其他表单的代码相同,但出于某种原因,我无法发现它无法工作。
function THEME_NAME_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'user_profile_form') {
$form['current_pass']['#prefix'] = '<div class="loginFormBlock">';
$form['current_pass']['#suffix'] = '</div>';
$form['current_pass']['#size'] = '500';
//$form['actions']['submit'] = array('#type' => 'image_button', '#src' => base_path() . path_to_theme() . '/images/Login.png');
}
}
现在注释掉提交按钮部分工作时,它的未评论,但current_pass位什么也不做。 Current_pass是我尝试主题的字段的名称。 THEME_NAME已被主题名称取代。
答:
至于建议我看着$形式排列。
echo '<pre>';
print_r($form);
echo '</pre>';
看到current_pass在帐户数组中,并将代码修改为以下,它工作正常。
$form['account']['current_pass']['#size'] = '500';
希望这可以帮助别人。
current_pass是一个现有的配置文件字段?尝试调试并转储'$ form ['current_pass']'(在修改之前),看看里面有什么 – soju 2012-02-22 16:04:57