Drupal 6 Cari modul ID ganda [ditutup]

9

Saat ini saya sibuk dengan situs web untuk pelanggan. Situs web ini harus divalidasi W3C. Ada masalah pada halaman pencarian situs dengan ID ganda:

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

ID: id="edit-keys-wrapper"muncul dua kali! Ini tidak diperbolehkan W3C.

Saya telah mengunduh dan menginstal Drupal 6.28 yang bersih untuk memastikan itu bukan kesalahan tema.

Apakah ada tambalan untuk "masalah" ini? Jika tidak, apa pilihan terbaik untuk memperbaikinya tanpa merusak inti?

Jeroen Bijl
sumber

Jawaban:

10

Saya dapat mengkonfirmasi ini terjadi di luar kotak sepanjang jalan kembali ke setidaknya 6,25.

Anda dapat 'memperbaikinya' cukup dengan kode berikut:

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

Itu memberi markup ini sebagai pengganti yang lama:

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