Drupal 6 Search module double ID's [fermé]

9

Je suis actuellement occupé par un site Web pour un client. Ce site doit être validé W3C. Un problème est survenu sur la page de recherche du site avec un double ID:

<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>

L'ID: id="edit-keys-wrapper"revient deux fois! Ce n'est pas autorisé par le W3C.

J'ai téléchargé et installé un Drupal 6.28 propre pour être sûr que ce n'est pas une erreur de thème.

Existe-t-il un correctif pour ce "problème"? Sinon, quelle est la meilleure option pour résoudre ce problème sans ruiner le cœur?

Jeroen Bijl
la source

Réponses:

10

Je peux confirmer que cela se produit dès le départ jusqu'à au moins 6,25.

Vous pouvez le «réparer» assez simplement avec le code suivant:

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

Cela donne ce balisage à la place de l'ancien:

<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
la source