0

我需要在 drupal 评论表单中添加一个额外的“名称”字段。我使用 hook_form_alter 实现了这个。现在这个领域来了。我无法控制它的位置。现在它是最后一个。我改变了重量,然后它也没有影响。

function comment_extra_form_alter(&$form, &$form_state, $form_id) {
global $user;
$output = '';
   if (!$user->uid) {
    switch ($form_id) {        
          case 'comment_form':
            $form['admin']['name'] = array(
              '#type' => 'textfield',
              '#title' => t('Name'),
              '#weight' => -1,
              '#size' => 60,
              '#maxlength' => 60,
              '#default_value' => $author,

            );

            $output .= comment_render($form);

            break;
    }
    return $output;
}
}

请帮我

4

1 回答 1

0

请尝试此代码段,并阅读原因。

function hook_form_alter(&$form, &$form_state, $form_id) {
  global $user;
  $output = '';
  switch ($form_id) {
   case 'comment_form':
     $form['_author']['#weight'] = -50;
     $form['subject']['#weight'] = -49;
     $form['name'] = array(
     '#type' => 'textfield',
     '#title' => t('Name'),
     '#weight' => -48,
     '#size' => 60,
     '#maxlength' => 60,
     '#default_value' => $user,
     );
     $form['comment_filter']['#weight'] = -47;
     $output .= comment_render($form);
   break;
}
return $output;
}

原因是:您还需要为其他字段设置权重,这有助于您设置自定义字段的权重。

我认为上面的片段会帮助你。如果需要进一步的需要,请告诉我,一定会有所帮助。

于 2012-05-25T13:55:22.467 回答