Drupal 6 IDs duplos do módulo de pesquisa [fechado]

9

Atualmente, estou ocupado com um site para um cliente. Este site deve ser validado pelo W3C. Ocorreu um problema na página de pesquisa do site com um ID duplo:

<div class="form-item" id="edit-keys-wrapper">
  <label for="edit-keys">Enter your keywords: </label>
  <div class="container-inline"><div class="form-item" id="edit-keys-wrapper">
  <input type="text" maxlength="255" name="keys" id="edit-keys" size="40" value="" class="form-text" />
</div>

O ID: id="edit-keys-wrapper"aparece duas vezes! Isso não é permitido pelo W3C.

Fiz o download e instalei um Drupal 6.28 limpo para garantir que não seja um erro de tema.

Existe um patch para esse "problema"? Caso contrário, qual é a melhor opção para corrigir isso sem arruinar o núcleo?

Jeroen Bijl
fonte

Respostas:

10

Posso confirmar que isso acontece imediatamente desde pelo menos 6,25.

Você pode 'corrigi-lo' simplesmente com o seguinte código:

function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'search_form') {
    unset($form['basic']['#id']);
  }
}

Isso dá essa marcação no lugar do antigo:

<div class="form-item">
  <label>Enter your keywords: </label>
  <div class="container-inline">
    <div class="form-item" id="edit-keys-wrapper">
      <input type="text" maxlength="255" name="keys" id="edit-keys" size="40" value="book" class="form-text error">
    </div>
    <input type="submit" name="op" id="edit-submit" value="Search" class="form-submit">
  </div>
</div>
Clive
fonte